Rumah > hujung hadapan web > tutorial js > Bagaimanakah saya boleh membuat fungsi acara `resize` jQuery dilaksanakan sekali sahaja selepas mengubah saiz?

Bagaimanakah saya boleh membuat fungsi acara `resize` jQuery dilaksanakan sekali sahaja selepas mengubah saiz?

DDD
Lepaskan: 2024-12-09 18:43:15
asal
285 orang telah melayarinya

How can I make jQuery's `resize` event function execute only once after resizing?

Memanggil jQuery RESIZE Event Hanya Sekali Selepas Resize

Apabila bekerja dengan jQuery resize event function, anda mungkin menghadapi situasi di mana anda mahukan fungsi tersebut untuk melaksanakan sekali sahaja apabila penyemak imbas selesai mengubah saiz. Walau bagaimanapun, tingkah laku lalai ialah memanggil fungsi secara berterusan semasa proses mengubah saiz.

Untuk mengatasinya, anda boleh menggunakan teknik yang dipanggil "menyahlantun." Begini caranya:

  1. Tetapkan Selang:
    Mulakan fungsi bermasa menggunakan setInterval() untuk menyemak sama ada penyemak imbas masih mengubah saiz. Tetapkan selang yang munasabah, seperti 50-100 milisaat.
  2. Selang Kosong:
    Jika penyemak imbas tidak mengubah saiz lagi (mis., pengguna telah berhenti menyeret tepi tetingkap), kosongkan selang yang dibuat dalam langkah 1 menggunakan clearInterval(). Ini memastikan bahawa fungsi hanya akan dipanggil sekali.
  3. Laksanakan Nyahlantun:
    Dalam fungsi setInterval(), lakukan semakan untuk menentukan sama ada penyemak imbas masih mengubah saiz. Gunakan kod berikut sebagai contoh:
$(window).resize(() => {
  let timer;
  if (timer) {
    clearTimeout(timer);
  }
  timer = setTimeout(() => {
    // Your code to execute after resizing is complete
  }, 50);  // Adjust the delay as per your requirement
});
Salin selepas log masuk
  1. Mulakan Fungsi Nyahlantun:
    Cetuskan fungsi nyahlantun dengan memanggilnya serta-merta selepas menetapkan pendengar acara ubah saiz . Ini memastikan bahawa fungsi itu dilaksanakan sekali apabila halaman dimuatkan.

Dengan melaksanakan teknik ini, anda boleh memanggil fungsi acara ubah saiz sekali selepas penyemak imbas selesai mengubah saiz, dengan berkesan menyelesaikan isu fungsi berterusan panggilan semasa proses mengubah saiz.

Atas ialah kandungan terperinci Bagaimanakah saya boleh membuat fungsi acara `resize` jQuery dilaksanakan sekali sahaja selepas mengubah saiz?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan