Pertama-tama, yang ingin saya katakan adalah memang demikian, dan artikel ini didedikasikan untuk mereka yang ingin belajar seperti saya. Beberapa teman di forum telah memposting efek buffering, tetapi sangat menyakitkan bagi saya untuk membaca kode mereka. Karena mereka tidak berada pada level yang sama, saya menggunakan kode yang paling berlebihan untuk menulis efek ini. Tujuannya adalah agar Anda dapat memahaminya master. Terakhir, mohon percaya kalimat ini: Suatu hari nanti kamu akan menjadi master, (asalkan kamu bekerja keras haha^^)
Jalankan kotak kode [Ctrl+A Semua tip pemilihan: Anda dapat memodifikasi sebagian kode terlebih dahulu, lalu tekan Jalankan]
Silakan lihat dua kode kunci ini:
function f_s(){ var obj=document.getElementById("box");//Dapatkan objek dengan kotak ID obj.style.display="block";//Setel objek objek yang akan ditampilkan obj.style.width="1px"; //Setel lebar objek obj menjadi 1px var changeW=function(){ //(Tentang fungsi, penutupan apa, kelas apa, prototipe, itu membuat kepala saya besar, saya akan memahaminya perlahan di masa depan. Yang saya pahami di sini adalah membuat fungsi untuk mengukur dan mengukur secara langsung put Itu disimpan dalam variabel changeW) var obj_w=parseInt(obj.style.width);//Ubah lebar objek menjadi nilai numerik dan simpan dalam variabel obj_w; if(obj_w<600){ //Juri, jika nilai lebarnya kurang dari 600 obj.style.width=(obj_w+Math.ceil((600-obj_w)/15))+"px";//Hitung lebar objek. . . Saat lebarnya semakin panjang, pertambahannya menjadi semakin kecil } kalau tidak{ clearInterval(bw);//Jika lebih besar dari atau sama dengan 600, setInterval tidak akan dijalankan lagi, yang berarti lebarnya akan berhenti bertambah saat ini. } } var bw=window.setInterval(changeW,1)//Panggil changeW setiap 0,001 detik }
//lambat ke cepat dari lambat ke cepat //Deklarasikan suatu fungsi s_f() fungsi s_f(){ var obj=dokumen.getElementById("kotak2"); var e_add=1;//Peningkatan inisialisasi obj.style.display="blok"; obj.style.width="1px"; var changeW=function(){//Yang saya pahami adalah membuat fungsi literal dan menyimpannya dalam variabel changeW var obj_w;e_add obj_w=parseInt(obj.style.width); e_add*=1,05;//Nilai setiap kenaikan berikutnya adalah jika(obj_w<600){ obj.style.width=(obj_w+e_add)+"px";//Saat lebarnya semakin panjang, pertambahannya menjadi semakin besar } kalau tidak{ clearInterval(bw); obj.style.width="600px";//Karena (obj_w+e_add) metode penghitungan ini akan melebihi lebar yang telah ditentukan, sehingga lebarnya disetel ulang setelah buffering } } var bw=window.setInterval(perubahanW,1) }