向下滚动150px时,左侧会出现一个div(slideDown)。按下向上按钮时,窗口应向上滚动,div应隐藏(slideUp)。这种情况发生了,但是div向上滑动,然后向下滑动然后再向上滑动。有什么问题?这是代码:
function checkSize() {
if ($(window).width() > 1250) {
$(window).scroll(function() {
if ($(document).scrollTop() > 150) {
$("nav#menu-float").slideDown("800");
}
else {
$("nav#menu-float").slideUp("800");
}
});
}
else {
$("nav#menu-float").hide();
}
}
checkSize();
$(window).resize(function() {
checkSize();
});
//Back to top
$("div#toTop a").click(function(e) {
$("body,html").animate({
scrollTop: 0
}, 800);
$(this).parents("nav#menu-float").slideUp("800");
e.preventDefault();
});
编辑删除了测试用例的链接,因为该链接已经死亡。
答案 0 :(得分:1)
我认为你可以删除
$(this).parents("nav#menu-float").slideUp("800");
行,来自$("div#toTop a").click(function(e)
幻灯片事件被调用两次:1。单击事件,然后单击再次调用scroll事件2.滚动事件尝试再次向上滑动,同时滚动到顶部'0'....