我对jQuery的经验很少,有人可以解释一下我的代码有什么问题吗?
var scrollBottom = $(window).scrollTop() + $(window).height();
$(window).scroll(function(){
if($(this).scrollTop() > 400) {
$('.button').css({'display': 'none'});
} else if ($(this).scrollBottom() > 200) {
$('.button').css({'display': 'block'});
}
});
代码的第一部分,我希望按钮消失 - 工作,但不是函数的第二部分。
答案 0 :(得分:2)
尝试检查本地变量scrollBottom
:
var scrollBottom = $(window).scrollTop() + $(window).height();
$(window).scroll(function(){
if($(this).scrollTop() > 400) {
$('.button').css({'display': 'none'});
} else if (scrollBottom > 200) {
$('.button').css({'display': 'block'});
}
});
jQuery没有scrollBottom()函数。
答案 1 :(得分:2)
这只会创建一个变量,而不是定义一个函数!
var scrollBottom = $(window).scrollTop()+ $(window).height();
为简单起见,您可以这样做 -
$(window).scroll(function(){
var scrollTop = $(window).scrollTop();
var scrollBottom = $(window).scrollTop() + $(window).height();
if(scrollTop() > 400) {
$('.button').css({'display': 'none'});
} else if (scrollBottom > 200) {
$('.button').css({'display': 'block'});
}
});
哦,你可以用 $(' .button')。show()/ $(' .button')。hide()代替设置.css()。