2015-04-27 453 views
5

我期待當用戶滾動到頁面底部的檢測,然後試圖繼續滾動,但那裏沒有什麼可以滾動/視圖底部檢測死滾動。頁面(鼠標滾輪,滾動事件)

我創建的可用性指標,其中死亡滾動是一個度量,需要一種方式,當用戶試圖滾動,但不提供任何左看看準確地檢測。

我需要的東西時觸發鼠標滾輪事件發起,但頁面不滾動,上/下方向。

+0

顯示你的代碼,你做了什麼? – Choxx

+0

你需要表現出一定的努力,計算器不是一個網站,以獲得完整的代碼解決方案的任何問題。 – Trader

+1

爲什麼你不用jquery設置一個測試,並看看滾動事件甚至發生死亡滾動發生時 – Huangism

回答

1

下面是我使用的是從動畫滾動停止網頁腳本的使出當已經觸底:

var gate = $(window), edge; 
setLength(); 

gate.resize(function() { 
    setLength(); 
}); 

function setLength() { 
    edge = $(document).height()-gate.height(); 
} 

gate.mousewheel(function(event, delta) { 

    outset = gate.scrollTop(); 
    if (delta == 1 && outset == 0) console.log('top'); 
    if (delta == -1 && outset == edge) console.log('bottom'); 
}); 

我使用鼠標滾輪插件,它只是偉大的,任何良好的跨瀏覽器支持你不得不寫一大堆的代碼正常化輪事件反正...

https://plugins.jquery.com/mousewheel/

我想這會做在提出的問題 - 檢測是否鼠標滾輪事件會使頁面滾動超越它的極限。對於思想實驗,雖然你也可以在這之前做出一步,但只有在使用mousewheel作爲二傳手時纔是準確的。當用戶觸發mouswheel事件時,可以使頁面滾動精確的像素數量。當頁面的目的地已知時,您可以檢查該頁面是否位於頁面的頂部或底部。

+0

不錯,讓我試試看。 – Collarbone

+0

這工作完成了嗎?如果您在用戶滾動頁面的外部邊界時需要像素精度,則可以考慮使用我寫的平滑滾動腳本(上面的代碼片段摘自):http://codepen.io/Shikkediel/pen/GJRbOV ?編輯= 001。 – Shikkediel

+0

工作很好。謝謝! – Collarbone

0

添加windows scrollTop()和高度。如果它等於文檔高度,則位於頁面的底部。

$(window).scroll(function() { 
    if($(window).scrollTop() + $(window).height() == $(document).height()) { 
     console.log("Page bottom reached!"); 
    } 
}); 

http://jsfiddle.net/1v3cakn9/1/

+0

不錯,但一旦它達到底部,並且用戶試圖保持滾動,我們能觸發其他東西嗎? – Collarbone

+0

你只要把你想做的任何事情代替控制檯日誌 –

+0

舊的,但仍然。滾動事件不會觸發一旦達到底部,所以這是行不通的。 console.log只會發生一次,如果您在底部滾動時繼續滾動,則不會再觸發。 OP想要檢測一個人在到達結尾後是否繼續滾動。 – jsfrocha