Rumah > Artikel > hujung hadapan web > Bagaimana untuk Mencetuskan Acara JQuery RESIZE Hanya Selepas Saiz Semula Selesai?
Memanggil JQuery RESIZE Event Hanya Selepas Saiz Semula Selesai
Apabila bekerja dengan JQuery resize event, selalunya wajar untuk melakukan tindakan hanya selepas mengubah saiz telah selesai, bukannya semasa mengubah saiz berterusan. Ini amat penting untuk mengelakkan panggilan fungsi yang berlebihan.
Untuk mencapai matlamat ini, anda boleh menggunakan pendekatan berikut:
Tetapkan Tamat Masa:
Buat tamat masa yang mencetuskan fungsi selepas kelewatan yang telah ditetapkan, memastikan ia berlaku hanya apabila mengubah saiz telah stabil.
$(window).resize(function() { clearTimeout(timer); // Reset any existing timeout timer = setTimeout(function() { // Your function goes here }, 300); // Set a 300ms delay });
Gunakan Bendera Boolean:
Kekalkan bendera untuk menunjukkan sama ada saiz semula sedang dijalankan. Apabila saiz semula bermula, tetapkan bendera kepada benar. Selepas tamat masa tamat, tetapkan bendera kepada palsu, menunjukkan bahawa saiz semula telah selesai.
var resizing = false; $(window).resize(function() { resizing = true; // Set flag to true when resizing starts setTimeout(function() { if (!resizing) return; // Ignore if resizing has already finished resizing = false; // Set flag to false when resizing finishes // Your function goes here }, 300); // Set a 300ms delay });
Atas ialah kandungan terperinci Bagaimana untuk Mencetuskan Acara JQuery RESIZE Hanya Selepas Saiz Semula Selesai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!