Cara Memanggil Acara Ubah Saiz jQuery Hanya Sekali selepas Saiz Semula Selesai
Gambaran Keseluruhan Masalah
Apabila menggunakan acara ubah saiz jQuery untuk menggunakan fungsi, ia mungkin dipanggil berulang kali sebagai pengguna mengubah saiz tetingkap penyemak imbas. Matlamatnya adalah untuk mencetuskan fungsi sekali sahaja apabila saiz semula telah selesai.
Penyelesaian
Untuk mencapai ini, kita boleh menggunakan fungsi setTimeout dan pembolehubah tamat masa:
var timeout; $(window).resize(function() { // Function to execute when resizing is complete timeout = setTimeout(function() { // Execute the desired function }, 30); });
Dengan menetapkan tamat masa 30 milisaat, kami menangguhkan pelaksanaan fungsi sehingga mengubah saiz telah berhenti selama sekurang-kurangnya 30 milisaat. Ini memastikan bahawa fungsi hanya dipanggil sekali.
Pertimbangan Tambahan
Jika pengguna memulakan tindakan mengubah saiz lain sebelum tamat masa tamat, tamat masa sebelumnya akan dikosongkan dan yang baru akan ditetapkan. Ini memastikan bahawa fungsi itu sentiasa dilaksanakan sekali sahaja selepas saiz semula akhir.
Awas: Menggunakan pembolehubah global, seperti tamat masa, harus dielakkan jika boleh. Walau bagaimanapun, dalam kes ini, penggunaan pembolehubah tamat masa adalah perlu untuk mengekalkan keadaan pengendalian acara.
Atas ialah kandungan terperinci Bagaimana untuk Mencetuskan Acara Ubah Saiz jQuery Hanya Sekali Selepas Saiz Semula Selesai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!