Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mencetuskan Acara JQuery RESIZE Hanya Selepas Saiz Semula Selesai?

Bagaimana untuk Mencetuskan Acara JQuery RESIZE Hanya Selepas Saiz Semula Selesai?

Patricia Arquette
Patricia Arquetteasal
2024-11-24 15:26:12320semak imbas

How to Trigger a JQuery RESIZE Event Only After Resizing is Complete?

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:

  1. 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
    });
  2. 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!

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