Latihan 1 dari materi CSS Transitions di Web Animation — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi dua function yang merakit nilai CSS transition sebagai string.
buildTransition(property, duration, easing) mengembalikan ketiga argumen dipisah satu spasi. Contoh: buildTransition("opacity", "0.3s", "ease-out") menghasilkan "opacity 0.3s ease-out". duration sudah membawa satuannya, jadi jangan tambahkan s lagi.
buildMultiTransition(transitions) menerima array objek { property, duration, easing }, merakit tiap objek dengan buildTransition, lalu menggabungkan hasilnya dengan koma dan spasi (", "). Satu objek saja menghasilkan satu transisi tanpa koma.
Empat console.log di kode awal biarkan saja. Yang dinilai, baris console-nya harus persis:
opacity 0.3s ease-out
transform 0.5s ease-in-out
opacity 0.3s ease, transform 0.5s ease-out
background 0.2s linear, color 0.2s linear, border-color 0.3s ease
Nilai kembaliannya juga dinilai langsung: buildMultiTransition([{ property: "width", duration: "1s", easing: "steps(4)" }]) harus "width 1s steps(4)", dan buildTransition("margin-top", "2s", "linear") harus "margin-top 2s linear".
Hint
Nilai transition disusun properti, durasi, lalu easing, dipisah satu spasi. Durasinya sudah berupa teks dengan satuan, misalnya "0.3s".
buildTransition cukup menggabungkan tiga argumennya dengan spasi. buildMultiTransition memetakan tiap objek lewat buildTransition, lalu menggabungkan hasilnya dengan ", ".