我试图产生一个固定位置的标题,一旦用户开始滚动浏览页面就会出现。我正在使用JQuery(在也使用Angular的页面上),并希望在scrollTop> 250px时立即淡出,并立即消失(我一直使用display:none),现在是< 250px。JQuery滚动和一些不那么隐藏的标题
当慢慢滚动我的代码工作,但下来的速度应该被隐藏在250像素关口上方再次出现的H1滚动起来时:https://jsfiddle.net/gilestaylor/jpaqbm36/
谁能推荐一个修复?或者更聪明的做法呢? (我仍然在学习绳索,所以任何提示非常感谢!)
HTML
<header>
<h1>Order some food</h1>
</header>
<div id="bar">
<h1>Order some food</h1>
</div>
JS
$(function() {
$(window).scroll(function() {
if ($(window).scrollTop() > 250) {
$('#bar').css({
'height': '50px'
});
$('#bar h1').fadeIn(1000);
}
else {
$('#bar').css({
'height': '0'
});
$('#bar h1').css({'display': 'none'});
};
});
});
@穆罕默德·优素福 - 好一点,但现在,我看它一遍,我想应该有一个检查,以便代码没有得到执行,除非它是从上面交换和低于250点。 –
但没有.stop()之前fadeIn()它仍然显示后动画..它对我工作正常https://jsfiddle.net/jpaqbm36/6/ –
@ Mohamed-Yousef - 当窗口滚动后超过250点,'.stop().fadeIn()'会被反复调用。由于元素已经完全显示,所以它没有做任何事情,但继续调用它似乎是错误的。 –