Javascript 当用户滚动时,如何运行函数

Javascript 当用户滚动时,如何运行函数,javascript,jquery,scroll,Javascript,Jquery,Scroll,可能重复: 我需要一个函数来检测我是否在Javascript/jquery中向上或向下滚动以触发一些事件 大概是这样的: if(ScrollTop) { alert('SCROLL TOP'); } else if(ScrollDown) { alert('SCROLL DOWN'); } C:这是一个简单的解决方案,适用于所有浏览器:jQuery 以下是解决方案: div{颜色:蓝色;} p{颜色:绿色;} span{颜色:红色;显示:无;}

可能重复:

我需要一个函数来检测我是否在Javascript/jquery中向上或向下滚动以触发一些事件

大概是这样的:

if(ScrollTop)
  {
    alert('SCROLL TOP');    
  }
else if(ScrollDown)
  {
    alert('SCROLL DOWN');  
  }

C:

这是一个简单的解决方案,适用于所有浏览器:jQuery

以下是解决方案:


div{颜色:蓝色;}
p{颜色:绿色;}
span{颜色:红色;显示:无;}
尝试滚动iframe。
段落-滚动发生了

$(“p”).clone().appendTo(document.body); $(“p”).clone().appendTo(document.body); $(“p”).clone().appendTo(document.body); var lastScrollTop=0 var currentScrollTop=0 $(窗口)。滚动(函数(事件){ lastScrollTop=currentScrollTop currentScrollTop=$(文档).scrollTop() 如果(currentScrollTop>lastScrollTop) $(“跨度”).text(“向下”) 其他的 $(“跨度”).text(“上升”) $(“span”).css(“显示”、“内联”).fadeOut(“慢”); });
基本上,它只是检测当前的滚动位置。

类似这样的东西


人们想知道为什么会有支持禁止上限锁定的运动。
<html>
<head>
  <style>
  div { color:blue; }
  p { color:green; }
  span { color:red; display:none; }
  </style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
        <div>Try scrolling the iframe.</div>
  <p>Paragraph - <span>Scroll happened!</span></p>
<script>
    $("p").clone().appendTo(document.body);
    $("p").clone().appendTo(document.body);
    $("p").clone().appendTo(document.body);

    var lastScrollTop = 0
    var currentScrollTop = 0
    $(window).scroll(function (event) { 
        lastScrollTop = currentScrollTop
        currentScrollTop = $(document).scrollTop()
        if (currentScrollTop > lastScrollTop) 
            $("span").text("going down")            
        else
            $("span").text("going up")
         $("span").css("display", "inline").fadeOut("slow"); 

    });
</script>
</body>
</html>
$(window).scroll(function(){
    var prevTop = $(window).data("top");
    var  newTop = $(this).scrollTop();
    if(prevTop)
    {
      if(prevTop>newTop )
      {
        alert("top");
      }
    else{
      alert("bottom");
       }
    }
    $(window).data("top",newTop );

});