我有一个div,需要在用户向下滚动400像素时显示。当他向上滚动,高于400像素时,需要再次隐藏此div。我可以使用fadeIn()
和fadeOut(
来完成此工作,但在这种情况下,我想通过使用animate()添加类似于slideUp()
的小动画。但是这样做会使它变得非常多,有时它会出现,有时则不会出现。
为什么会这样?
答案 0 :(得分:1)
使用$(window).scroll
过于频繁。
建议你使用setInterval
来检查scrollTop。
<强> Here is a demo 强>
以下是JavaScript代码:
function update() {
if ($(window).scrollTop() > 400) {
$('.signup_scroll').animate({
"bottom": '0px'
}, 300);
} else {
$('.signup_scroll').animate({
"bottom": '-90px'
}, 300);
}
}
setInterval(update, 500);