JQuery: Menangkap Peristiwa Ubah Saiz Setelah Selesai
Acara mengubah saiz jQuery boleh dicetuskan secara berterusan semasa saiz semula tetingkap, yang membawa kepada isu prestasi. Untuk menangani perkara ini, kami berhasrat untuk menggunakan fungsi hanya selepas saiz semula telah disimpulkan.
Penyelesaian Menggunakan Manipulasi Selang:
Seperti yang dicadangkan oleh thejh, kita boleh memanfaatkan fungsi setInterval untuk menyemak secara berkala sama ada penyemak imbas telah selesai mengubah saiz. Sebaik sahaja ia mengesan ketidakaktifan, ia boleh mengosongkan selang dan memanggil fungsi yang diingini:
var resizeTimer; $(window).resize(function() { // Reset the resize timer if it exists if (resizeTimer) clearTimeout(resizeTimer); // Set a new resize timer resizeTimer = setTimeout(function() { // Call the desired function here }, 30); });
Dalam penyelesaian ini, kami menggunakan clearTimeout untuk membatalkan sebarang pemasa ubah saiz sedia ada. Kami kemudian menetapkan pemasa baharu dengan selang masa yang singkat (30 milisaat dalam contoh ini). Setelah pemasa berlalu, kita tahu saiz semula telah dihentikan dan kita boleh melaksanakan fungsi yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Mencetuskan Fungsi Selepas Selesai Saiz Tetingkap dalam jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!