Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mencetuskan Acara Ubah Saiz jQuery Hanya Sekali Selepas Saiz Semula Selesai?

Bagaimana untuk Mencetuskan Acara Ubah Saiz jQuery Hanya Sekali Selepas Saiz Semula Selesai?

Linda Hamilton
Linda Hamiltonasal
2024-11-27 02:03:10570semak imbas

How to Trigger a jQuery Resize Event Only Once After Resizing is Complete?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn