Menambahkan korsel
Fitur umum lainnya di halaman seluler adalah korsel (carousel). Anda dapat dengan mudah menambahkan korsel ke halaman AMP dengan menggunakan komponen amp-carousel
. Mari kita mulai dengan contoh sederhana, misalnya korsel gambar.
Korsel gambar sederhana
Jangan lupa untuk menyertakan perpustakaan komponen amp-carousel
dengan menambahkan permintaan JavaScript berikut ini ke tag <head>
pada dokumen Anda:
<script
async
custom-element="amp-carousel"
src="https://cdn.ampproject.org/v0/amp-carousel-0.1.js"
></script>
Berikutnya, mari sematkan korsel gambar yang sederhana dengan tata letak responsif serta lebar dan tinggi yang sudah ditentukan sebelumnya. Tambahkan kode berikut ini ke halaman Anda:
<amp-carousel layout="fixed-height" height="168" type="carousel">
<amp-img src="mountains-1.jpg" width="300" height="168"></amp-img>
<amp-img src="mountains-2.jpg" width="300" height="168"></amp-img>
<amp-img src="mountains-3.jpg" width="300" height="168"></amp-img>
</amp-carousel>
Segarkan halaman, maka Anda akan melihat korsel:
Komponen amp-carousel
dapat dikonfigurasikan dalam berbagai cara. Mari kita ubah UI agar hanya menampilkan gambar satu per satu dan membuat tata letak korsel menjadi responsif.
Untuk melakukannya, pertama-tama, ubah type
amp-carousel
dari carousel
menjadi slides
, ubah layout
menjadi responsive
dan tetapkan width
ke 300 (pastikan height
dan width
sudah ditentukan). Tambahkan atribut "layout=responsive"
ke amp-img
anak amp-carousel
.
Muat ulang halaman. Kini, Anda akan melihat elemen satu per satu, bukannya daftar elemen yang dapat di-scroll secara berulang. Coba usap secara horizontal untuk berpindah antar-elemen. Jika Anda mengusap elemen ketiga, Anda tidak akan dapat mengusap lebih jauh lagi.
Berikutnya, tambahkan atribut loop
. Segarkan halaman dan coba segra usap ke kiri. Korsel akan terus mengalami pengulangan.
Terakhir, mari buat korsel ini agar otomatis berputar setiap 2 detik. Tambahkan atribut autoplay
dan atribut delay
dengan nilai 2000
(cth.: delay="2000"
) ke amp-carousel
.
Hasil akhirnya akan terlihat seperti berikut ini:
<amp-carousel
layout="responsive"
width="300"
height="168"
type="slides"
autoplay
delay="2000"
loop
>
<amp-img
src="mountains-1.jpg"
width="300"
height="168"
layout="responsive"
></amp-img>
<amp-img
src="mountains-2.jpg"
width="300"
height="168"
layout="responsive"
></amp-img>
<amp-img
src="mountains-3.jpg"
width="300"
height="168"
layout="responsive"
></amp-img>
</amp-carousel>
Segarkan halaman dan cobalah!
amp-carousel
memiliki jenis carousel
, kita menggunakan jenis layout fixed-height
. Jenis tata letak yang didukung untuk jenis carousel
terbatas; contohnya: jenis carousel
tidak mendukung tata letak responsive
. Sesuai dengan namanya, elemen tinggi tetap mengambil ruang yang tersedia bagi mereka, tetapi menjaga tinggi tidak berubah. Untuk elemen tinggi tetap, Anda harus menentukan atribut height
, sedangkan atribut width
harus auto
atau tidak ditetapkan. Konten korsel campuran
Korsel gambar sudah bagus, namun bagaimana cara untuk memunculkan konten yang lebih rumit di korsel? Mari kita coba mencampurkan berbagai hal sedikit demi sedikit dengan menempatkan iklan, beberapa teks, serta gambar dalam satu korsel. Dapatkah amp-carousel
menangani campuran semacam ini sekaligus? Tentu saja!
Pertama, mari tambahkan gaya ini ke <style amp-custom>
untuk memastikan bahwa komponen amp-fit-text
dan amp-carousel
dapat bekerja sama dengan aman:
amp-fit-text {
white-space: normal;
}
Sekarang, ganti korsel sederhana Anda dengan ini:
<amp-carousel layout="fixed-height" height="250" type="carousel">
<amp-img src="blocky-mountains-1.jpg" width="300" height="250"></amp-img>
<amp-ad
width="300"
height="250"
type="doubleclick"
data-slot="/35096353/amptesting/image/static"
>
<div placeholder>This ad is still loading.</div>
</amp-ad>
<amp-fit-text width="300" height="250" layout="fixed">
Big, bold article quote goes here.
</amp-fit-text>
</amp-carousel>
Segarkan halaman, maka seharusnya tampak seperti ini:
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi komponen amp-carousel
.
amp-ad
menyertakan elemen div
anak dengan atribut placeholder
. Di awal tutorial ini, ada skenario serupa dengan amp-ad
yang menggunakan fallback
. Apa perbedaan antara bakal tempat (placeholder) dan fallback? Elemen Fallback
muncul ketika elemen induk gagal dimuat, yaitu jika tidak ada iklan yang tersedia. Elemen placeholder
muncul menggantikan elemen induk, saat sedang dimuat. Dalam arti tertentu, elemen-elemen ini mengakhiri proses pemuatan elemen induk. Anda dapat mempelajari lebih lanjut dalam panduan Bakal tempat & fallback.