可以用jQuery中的unbind()來進行事件解綁,
1 $(window).scroll(function() { 2 console.log("滾離頂部" + $(document).scrollTop()); 3 4 //... 5 6 //對window物件進行scroll事件解綁 7 $(window).unbind("scroll"); 8 });
方法的引數如下(截圖于w3school):

額外:
我在一次將scroll()和setInterval()結合起來用時,出現了“貌似unbind()不太奏效”的情況:scroll事件被觸發多次,仔細看了看,發現其實不是unbind()的問題,是代碼結構的問題,我不該一股腦地連scroll()都放進setInterval()里,導致瀏覽器不斷添加一模一樣的監聽事件(這是什么機制呢?)——它們居然每50毫秒增多一個(都處于待命狀態),然后一并被觸發,(所以不是unbind()起不了作用,,也與滑鼠滾輪“每滾一小牙,觸發事件次數不止一次”這個特點無關)
錯誤代碼:
1 var i =setInterval(function(){ 2 3 //... 4 5 $(window).scroll(function(){ 6 clearInterval(i); 7 $(window).unbind("scroll"); 8 }); 9 },50);
正確代碼:
1 var i =setInterval(function(){ 2 3 //... 4 5 },50); 6 $(window).scroll(function(){ 7 clearInterval(i); 8 $(window).unbind("scroll"); 9 });
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/7129.html
標籤:jQuery
上一篇:掛號平臺首頁開發(UI組件部分)
