当用户向下滚动页面时,我试图从菜单栏中删除一个类。我阅读了以下主题和文档来了解 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/