【问题标题】:How can I run a function when the user scrolls [duplicate]用户滚动时如何运行功能[重复]
【发布时间】:2011-06-13 15:42:56
【问题描述】:

可能重复:
How can I determine the direction of a jQuery scroll event?

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

类似这样的:

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

【问题讨论】:

  • 人们想知道为什么会有支持禁止大写锁定的活动。

标签: javascript jquery scroll


【解决方案1】:

【讨论】:

    【解决方案2】:

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

    解决方法如下: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Jquery/Q_25533492.html

    <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>
    

    基本上它只是检测当前滚动位置。

    【讨论】:

      【解决方案3】:

      类似http://jsfiddle.net/SjFNq/

      $(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 );
      
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-23
        • 2012-11-21
        • 2020-02-23
        • 2011-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多