JavaScript/jQuery 中視窗大小調整後延遲執行
瀏覽器時觸發JavaScript 和jQuery 中的$(window).resize 事件視窗調整大小。然而,在透過拖曳視窗邊緣手動調整大小期間,它經常會觸發多次。
實作單次呼叫:
調整大小後僅呼叫一次函數完成後,可以使用計時器來延遲執行,直到調整大小過程完成。這是一個解決方案:
解:
<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>
用法:
<code class="javascript">$(window).resize(function () { waitForFinalEvent(function(){ alert('Resize...'); //... }, 500, "some unique string"); });</code>
用法:
用法:用法:這種方法確保回調函數在指定的延遲後僅被呼叫一次,從而為調整大小提供足夠的時間來完成並防止冗餘事件觸發。以上是如何在 JavaScript/jQuery 調整視窗大小後僅執行一次函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!