如何在調整大小完成後僅調用一次jQuery Resize 事件
問題概述
使用jQuery 的resize事件呼叫函數時,可能會在使用者調整大小時重複呼叫該函數瀏覽器視窗。目標是僅在調整大小完成後觸發該函數一次。
解決方案
要實現此目的,我們可以利用setTimeout 函數和超時變數:
var timeout; $(window).resize(function() { // Function to execute when resizing is complete timeout = setTimeout(function() { // Execute the desired function }, 30); });
透過設定30 毫秒的超時,我們延遲函數的執行,直到調整大小停止至少30 毫秒。這可確保該函數僅被呼叫一次。
其他注意事項
如果用戶在超時到期之前啟動另一個調整大小操作,則先前的超時將被清除,並且將設定新的。這可確保函數始終在最終調整大小後僅執行一次。
注意: 如果可能,應避免使用全域變量,例如逾時。但是,在這種情況下,需要使用逾時變數來維護事件處理的狀態。
以上是如何在調整大小完成後僅觸發一次 jQuery 調整大小事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!