Bagaimana untuk Melaksanakan $(window).resize() Hanya Sekali Selepas Saiz Tetingkap Selesai?

Barbara Streisand
Lepaskan: 2024-11-04 22:38:02
asal
692 orang telah melayarinya

How to Execute $(window).resize() Only Once After Window Resizing is Complete?

Menyasarkan Penyelesaian Acara: $(window).resize() Selepas Pelaksanaan

Apabila menggunakan $(window).resize(function() { ... }) untuk memantau saiz semula tetingkap penyemak imbas, anda mungkin menghadapi beberapa peristiwa penembakan semasa pelarasan tetingkap manual. Isu ini timbul apabila peristiwa dicetuskan setiap kali sempadan tetingkap diseret, mengakibatkan tingkah laku yang tidak diingini. Untuk menangani perkara ini, mari kita terokai penyelesaian yang memastikan pelaksanaan berlaku semata-mata selepas proses saiz semula selesai.

Coretan kod di bawah menyediakan penyelesaian praktikal yang boleh digunakan dalam pelbagai bahagian kod anda:

<code class="javascript">var waitForFinalEvent = (function () {
  var timers = {};
  return function (callback, ms, uniqueId) {
    if (!uniqueId) {
      uniqueId = "Don't call this twice without a uniqueId";
    }
    if (timers[uniqueId]) {
      clearTimeout (timers[uniqueId]);
    }
    timers[uniqueId] = setTimeout(callback, ms);
  };
})();</code>
Salin selepas log masuk

Untuk menggunakan penyelesaian ini, ikut langkah berikut:

  1. Laksanakan pendengar acara tersuai untuk saiz semula tetingkap.
<code class="javascript">$(window).resize(function () {</code>
Salin selepas log masuk
  1. Dalam pendengar acara , mohon waitForFinalEvent untuk menetapkan tamat masa untuk panggilan balik.
<code class="javascript">    waitForFinalEvent(function(){
      alert('Resize...');
      //...
    }, 500, "some unique string");</code>
Salin selepas log masuk

Parameter 500 mewakili kelewatan 500 milisaat, membenarkan masa yang mencukupi untuk proses mengubah saiz selesai. Parameter uniqueId memastikan bahawa berbilang panggilan balik boleh menggunakan mekanisme tamat masa yang sama tanpa gangguan.

Penyelesaian yang diubah suai ini membolehkan anda menentukan berbilang panggilan balik yang dilaksanakan selepas saiz semula tetingkap selesai, memenuhi pelbagai bahagian kod anda dengan berkesan.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan $(window).resize() Hanya Sekali Selepas Saiz Tetingkap Selesai?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan