115 of 119 menu

Metode queue

Metode queue memungkinkan kita bekerja dengan antrian fungsi yang terikat pada elemen. Lihat juga metode clearQueue, yang memungkinkan kita menghapus dari antrian semua fungsi yang belum dijalankan.

Sintaks

Beginilah cara kita menampilkan antrian fungsi yang dijalankan, yang terikat pada elemen. Kita dapat meneruskan parameter opsional nama antrian dalam bentuk string (defaultnya fx - antrian efek standar):

.queue([nama antrian]);

Kita dapat memanipulasi antrian. Dieksekusi sekali untuk setiap elemen. Untuk ini, kita dapat meneruskan parameter kedua berupa array fungsi, yang akan menggantikan isi antrian saat ini:

.queue([nama antrian], antrian baru );

Atau kita dapat meneruskan parameter kedua berupa callback-fungsi baru untuk ditambahkan ke antrian. Fungsi ini pada gilirannya menerima fungsi lain sebagai parameternya. Ini memungkinkan untuk secara otomatis menghapus item berikutnya dari antrian dan memajukan antrian:

.queue([nama antrian], callback-fungsi(next) { next(); });

Setiap elemen dapat memiliki satu atau beberapa antrian. Dalam banyak aplikasi, hanya digunakan satu (fx). Antrian memungkinkan pelaksanaan urutan tindakan dengan elemen secara asinkron, tanpa mengganggu eksekusi program. Pemanggilan queue dengan callback-fungsi memungkinkan kita menempatkan fungsi baru di akhir antrian. callback-fungsi dieksekusi sekali untuk setiap elemen dalam set. Saat menambahkan fungsi menggunakan queue, kita harus memastikan bahwa nantinya metode dequeue akan dipanggil, agar fungsi berikutnya dalam rantai dapat bekerja.

Contoh

Mari tambahkan fungsi kustom. Pertama, setelah mengklik #animate, kita akan menampilkan kotak merah, yang akan bergerak ke kanan selama 2s, kemudian dengan menggunakan queue kita akan menambahkan fungsi kustom, yang akan mengubah warna kotak menjadi hijau, dengan menambahkan kelas newcolor. Seperti yang Anda lihat, kemudian di sini dipanggil dequeue, untuk menghapus fungsi dari antrian. Kemudian kotak kita akan bergerak ke kiri setengah detik dan akan berubah warna kembali menjadi merah - dengan bantuan fungsi kustom kedua kita menghapus kelas newcolor. Di akhir animasi kita menutup kotak kita:

<button id="animate">start</button> <div></div> div { position: absolute; margin: 3px; width: 50px; height: 50px; left: 0px; top: 30px; background: red; display: none; } div.newcolor { background: green; } $('#animate').click(function() { $('div') .show('slow') .animate({left: '+=200'}, 2000) .queue(function() { $(this).addClass('newcolor').dequeue(); }) .animate({left: '-=200'}, 500) .queue(function() { $(this).removeClass('newcolor').dequeue(); }) .slideUp(); });

Contoh

Mari tambahkan antrian dalam bentuk array, untuk menghapus yang sebelumnya. Saat tombol #start ditekan kita akan melihat animasi dari contoh sebelumnya. Saat tombol #stop ditekan, kita akan menghentikan animasi dengan menambahkan array kosong. Saat menekan #start lagi, animasi akan mulai dari awal:

<button id="start">start</button> <button id="stop">stop</button> <div></div> div { position: absolute; margin: 3px; width: 50px; height: 50px; left: 0px; top: 30px; background: red; display: none; } div.newcolor { background: green; } $('#start').click(function() { $('div') .show('slow') .animate({left: '+=200'}, 5000) .queue(function() { $(this).addClass('newcolor').dequeue(); }) .animate({left: '-=200'}, 1500) .queue(function() { $(this).removeClass('newcolor').dequeue(); }) .slideUp(); }); $('#stop').click(function() { $('div').queue('fx', []).stop(); });

Lihat juga

  • metode animate,
    yang menganimasikan properti elemen
  • metode clearQueue,
    yang memungkinkan menghapus semua item yang belum dieksekusi dari antrian fungsi
  • metode dequeue,
    yang memungkinkan mengeksekusi fungsi berikutnya dalam antrian fungsi
Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak