我想嘗試和複製io7的safari功能,其中的url和導航欄最小化,當你慢慢滾動,在JavaScript/jQuery中。第一件事是檢測滾動速度,我已經看到this的問題,但我在內容腳本中這樣做,所以我不一定有他們使用的頂部和底部元素。還有另一種檢測滾動速度的方法嗎?如何使用Jquery檢測滾動速度?
回答
您可以通過jQuery附加到滾動事件,並使用時間戳和scrollOffset組合來確定滾動速度,方法是將偏移/時間與上次滾動事件進行比較。事情是這樣的:
var lastOffset = $(mySelector).scrollTop();
var lastDate = new Date().getTime();
$(mySelector).scroll(function(e) {
var delayInMs = e.timeStamp - lastDate;
var offset = e.target.scrollTop - lastOffset;
var speedInpxPerMs = offset/delayInMs;
console.log(speedInpxPerMs);
lastDate = e.timeStamp;
lastOffset = e.target.scrollTop;
});
不管怎麼說,因爲你沒有在導航欄控制在一個普通的瀏覽器我沒有看到這裏的要點:/
可能是你正在尋找的是這樣的: Parallax scroll with sticky header
GL 克里斯
我試圖用cschuff
的答案,但出事了。帶着這樣的問題,並寫一個類的喜悅,我只是把代碼中的一個小類,在這裏獲得:https://github.com/SocialbitGmbH/JavascriptScrollSpeedMonitor
用法很簡單:
var scrollSpeedMonitor = new ScrollSpeedMonitor(function (speedInPxPerMs, timeStamp, newDirection)
{
console.log('Scroll speed: ' + speedInPxPerMs);
});
此外,還有一個StarScroller用於檢測用戶何時以光速滾動,以添加一些不錯的「光速效果」:-) https://github.com/SocialbitGmbH/JavascriptStarScroller –
您錯過了關閉'''托架。 –
謝謝,添加了! :-) –
- 1. 如何使用jQuery檢測滾動?
- 2. 檢測GridView滾動速度 - Android
- 3. jquery滾動速度?
- 4. JavaScript的滾動檢測和滾動速度
- 5. 滾動速度自動滾動速度
- 6. jQuery滾動檢測
- 7. jquery滾動檢測
- 8. 提高滾動速度 - jQuery
- 9. jQuery的滾動速度
- 10. 使用jQuery.scroll檢測滾動高度()
- 11. 如何使用jQuery檢測滾動條的移動?
- 12. 如何使滾動速度變慢
- 13. 如何在此jQuery滾動腳本中使滾動速度更慢?
- 14. 如何使用jQuery檢測頁面的滾動位置
- 15. 如何使用jquery檢測垂直滾動位置?
- 16. 如何使用jQuery/JavaScript檢測觸摸板滾動
- 17. JQuery:如何使用超時腳本來檢測頁面滾動?
- 18. JQuery檢測滾動底部
- 19. 檢測div滾動jquery
- 20. jQuery - 檢測滾動量
- 21. jquery live滾動檢測
- 22. 使用InputListener檢測滾動
- 23. 使用scrollTop檢測滾動
- 24. jQuery ::在jQuery工具可滾動 - 改變鼠標滾動速度?
- 25. 檢測刷卡速度手機jquery
- 26. Python滾動速度
- 27. UITableView滾動速度
- 28. 減慢JQuery滾動的速度
- 29. jQuery的算法滾動速度
- 30. 改變速度一個jQuery滾動
我試圖模仿資產淨值的影響酒吧。我在Chrome擴展中使用內容腳本來創建疊加層,並且當用戶快速向下滾動時,我希望疊加層縮小並避開。 – EasilyBaffled
那麼上面的腳本將幫助你確定'快速'部分。根據滾動偏移量的不同,您可以減小疊加層的大小。定義一個點在哪裏隱藏它。你錯過了什麼? – cschuff
嗯,我把窗口放在mySelector中,我得到了NaN for speedInpxPerMs。我訪問頁面的權限有限,因爲這是一個內容腳本,因此可能是問題的一部分。 – EasilyBaffled