javascript - Jquery Scroll() 需要 2 个参数

标签 javascript jquery scroll menubar

当用户向下滚动页面时,我试图从菜单栏中删除一个类。我阅读了以下主题和文档来了解 jquery roll():

1) https://stackoverflow.com/a/16391580/1050957

2) http://api.jquery.com/scroll/

这是我的代码:

var jquery = jQuery.noConflict();

jquery(document).ready(function(){      
    $(window).scroll(function () {          
        if (document.body.scrollTop > 100) 
                $('#menuBar').removeClass( "nav-menu" );    
        else
                // something something              
    });        
});

上面的代码摘自另一个主题的SO答案(上面给出的链接)。但是当我添加该代码时,我看到: Not enough argument to Window.scroll. $(window).scroll(function () 的错误。我不知道为什么它期待 2 个参数,因为我在 roll() 上读到的文档没有使用参数。我做错了什么吗?或者 Jquery 的更高版本发生了一些变化?

我使用的是jquery v1.11.0

最佳答案

使用完整的 jquery 代码。工作示例:

#menuBar { background: yellow; width: 50px; height: 800px; }
#menuBar.nav-menu { background: red; }

<div id="menuBar" class="nav-menu"></div>
<div style="margin-bottom: 999em;"></div>

$(document).ready(function(){

    $(window).on('scroll', function () {  
        var $body = $('body');
        var $target = $('#menuBar');
        if ($body.scrollTop() > 100 && $target.hasClass('nav-menu')){
                $target.removeClass("nav-menu");    
        }
        else if( $body.scrollTop() <= 100 && !$target.hasClass('nav-menu') ){ 
            $target.addClass('nav-menu');
        }

    });

});

确保检查该类是否已添加,以防止出现不必要的内容。

检查jsfiddle

关于javascript - Jquery Scroll() 需要 2 个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24199760/

相关文章:

jquery - 使用 Javascript 问题粘贴 div

javascript - Webcrypto PBKDF2-SHA1

Javascript 未在 Heroku 上的 Django 应用程序中呈现

javascript - Jquery slideToggle 弄乱了 flex 对齐,直到它完成

javascript - 如何在DataTable View 中显示json数据?

css - 如果有 margin-top 则拉伸(stretch) div 的高度直到页尾

javascript - 如何确定页面上的元素是否在用户当前的滚动 Pane 内?

javascript - 浏览器在添加版本控制后也没有选择最新代码?

javascript - 如何通过亚马逊网络服务更改雅虎天气 api 的字体或图标

jquery - 为什么我希望 jQuery UI Widget 从自身继承?