向上或向下滚动的事件

时间:2017-06-30 12:44:41

标签: javascript html

我想检测用户滚动的时间。我看到有一些问题,但这些答案对我没有帮助 这是我的代码:

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");
 }
});

3 个答案:

答案 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;
}