jQuery窗口滚动事件未触发

jQuery窗口滚动事件未触发,jquery,window,scroll,Jquery,Window,Scroll,我试图通过jquery对div实现一个简单的“停留在视口内”行为。为此,我需要将一个函数绑定到窗口的滚动事件,但我似乎无法启动它:什么都没有发生。我尝试了一个简单的警报(),console.log(),没有骰子。知道我做错了什么吗 此代码: $(window).scroll(function () { console.log("scrolling"); }); 位于script.js中,位于html文件的最底部 <script src="

我试图通过jquery对div实现一个简单的“停留在视口内”行为。为此,我需要将一个函数绑定到窗口的滚动事件,但我似乎无法启动它:什么都没有发生。我尝试了一个简单的警报(),console.log(),没有骰子。知道我做错了什么吗

此代码:

$(window).scroll(function () {  
            console.log("scrolling");           
});
位于script.js中,位于html文件的最底部

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script src="js/script.js"></script>
</body>
</html>

更新 测试URL:

  • 中的
    之间声明您的
    jQuery
  • .scroll()
    事件包装在

  • CSS实际上是将文档的其余部分设置为不显示溢出,因此文档本身不会滚动。最简单的修复方法是将事件绑定到正在滚动的对象,在您的例子中是
    div#page

    因此,改变很容易:

    $(document).scroll(function() {  // OR  $(window).scroll(function() {
        didScroll = true;
    });
    


    我的问题是我的css中有这个代码

    html,
    body {
        height: 100%;
        width: 100%;
        overflow: auto;
    }
    

    一旦我删除了它,窗口上的滚动事件再次启动

    似乎对我来说什么都不起作用,但这成功了

    $(parent.window.document).scroll(function() {
        alert("bottom!");
    });
    

    不管你怎么做,对谁来说都不管用(像我一样):
    很有魅力

    正如他们在W3学校所解释的那样 解决方案是:

     $('body').scroll(function(e){
        console.log(e);
    });
    

    在我的例子中,您应该将函数放入
    $(document).ready

    $(document).ready(function () {
        $('div#page').on('scroll', function () {
         ...
        });
    });
    

    页面内容是否足够长?工作完美:如果没有可以滚动的内容,则不会引发
    滚动
    事件。您的示例页面绑定到
    $(文档)。滚动
    尝试
    $(窗口)。滚动
    似乎滚动未触发与您使用css的方式有关,我现在正在做一些测试。还发现body标签上有
    overflow-x
    ,导致滚动事件也没有触发!在Chrome和Firefox中复制。@BU0我也发现了这一点(事实上,你的评论刚刚解决了我遇到的一个难题)。谢谢。不,也不行。将把链接放在网上,这样你们就可以看到它(不是)发生了。好吧,那么当设计一个像开篇文章一样的页面时,一般应该注意什么呢?还有更多的案例会引发这样的问题吗?哇,老兄,你让我开心极了。我整天都在讨论这个问题。在我的情况下,翻页效果很好。该抽支雪茄了!我有一个类似的问题,我的问题是html,body{height:100%;…}这导致滚动不起作用(grails应用程序中的默认设置)救了我一天!!我被这件事困扰了一段时间。我的问题是
    身体{height:100vh;}
    谢谢!我也有同样的问题。看起来
    scroll
    事件不能很好地处理css
    溢出的元素。甚至连带有
    scrollTop
    的动画都被窃听到了。。。谢谢分享!作为将来的参考,在我的例子中,尝试使用Materialiecss的pushpin组件()是不起作用的,因为高度:在html和正文上也是100%!
    $(parent.window.document).scroll(function() {
        alert("bottom!");
    });
    
     $('body').scroll(function(e){
        console.log(e);
    });
    
    $(document).ready(function () {
        $('div#page').on('scroll', function () {
         ...
        });
    });