我想检测用户滚动的时间。我看到有一些问题,但这些答案对我没有帮助 这是我的代码:
var up = document.getElementById('up');
var down = document.getElementById('down');
function onScroll() {
if (view.scrollTop > 0) {
console.log("up");
}
if (view.scrollTop < 0) {
console.log("down");
}
}
var view = document.getElementById('container');
view.addEventListener("wheel", onScroll);
编辑:“滚动”而不是“轮子”对我不起作用......我必须有“轮子”。当我做:
if (view.scrolltop <=0) {
console.log("down");
}
我进入我的控制台“向下”但是当我向上滚动时它出现了!我的页面有100%的屏幕,我没有滚动条(我不想有)。
EDIT2:这是解决我问题的代码!
window.addEventListener('wheel', function (e) {
if (e.deltaY < 0) {
console.log("scrolling up");
}
if (e.deltaY > 0) {
console.log("scrolling down");
}
});
答案 0 :(得分:0)
你可以使用
window.onscroll
获取滚动事件,然后使用
.scrollTop
确定您从页面顶部或元素的偏移量。
window.onscroll = function() { scrollFunction() };
scrollFunction() {
//code to check if it is scrolling up or down
}
希望这是一个有用的开始。
答案 1 :(得分:0)
我用jquery方法做了这个
var last = 0;
$(window).scroll(function(event){
var Pos = $(this).scrollTop();
if (Pos > last ){
// down
} else {
// up
}
last = Pos;
});
答案 2 :(得分:0)
支持@Belmin Bedak的评论。
使用mvn -Dhttp.proxyHost=[_] -Dhttp.proxyPort=[_] clean package
([_] -> Your proxy data)
代替.scroll
:
.wheel
var up = document.getElementById('up');
var down = document.getElementById('down');
function onScroll() {
if (view.scrollTop > 0) {
alert("up");
}
if (view.scrollTop <= 0) {
alert("down");
}
}
var view = document.getElementById('container');
view.addEventListener("scroll", onScroll);
div {
border: 1px solid black;
width: 200px;
height: 100px;
overflow: scroll;
}