我目前有以下代码,在某一点之后延迟显示固定栏。
如果您向上滚动到顶部,代码会隐藏固定栏,但是在2秒后自动显示栏,即使滚动点低于70,所以它应该一起隐藏。
$(window).scroll(function() {
if($(window).scrollTop() > 70) {
$('#mini-header').delay(2000).show(0);
} else if($(window).scrollTop() < 70) {
$('#mini-header').hide();
}
});
jsFiddle显示行为。
答案 0 :(得分:1)
您可以将else if
更改为简单else
并隐藏div display: none
-
FIDDLE DEMO
$(document).ready(function() {
$(window).scroll(function() {
if($(window).scrollTop() > 70) {
$('#mini-header').delay(2000).show();
} else {
$('#mini-header').css("display", "none");
}
});
});
$(document).ready(function() {
$(window).scroll(function() {
if ( $(window).scrollTop() > 70 ) {
$('#mini-header').stop().animate({ opacity:1 }, 2000, function() {
$(this).css("display", "block");
});
} else {
$('#mini-header').stop().animate({ opacity:0 }).css("display", "none");
}
});
});
animate()
的作用类似于delay()
,但不同之处在于您可以stop()
。
答案 1 :(得分:0)
从show()中删除0似乎可以解决问题。 http://jsfiddle.net/the_archer/Ds4Ls/