0
如果用戶向下滾動並且菜單消失,我想要一個div(返回頂部)出現。 div滑落並反彈,但它一直彈跳。我只想在它被設置爲固定位置之前將其反彈一次。Div繼續彈跳
據我所知,發生這種情況是因爲代碼一遍又一遍地運行,只要「(距離+ navHeight)< = 1」,但有沒有辦法只運行一次代碼?
$(window).on('scroll', function() {
var scrollTop = $(window).scrollTop(),
elementOffset = $('.navigation').offset().top,
navHeight = $('.navigation').height();
distance = Math.round((elementOffset - scrollTop));
if((distance + navHeight) <= 1) {
$('#scroll-top').slideToggle(700, 'easeOutBounce', function() {
$(this).addClass('menu-stick');
});
}
});
CSS
.menu-stick {
position: fixed;
z-index: 2000;
left: 0;
right: 0;
top: 0;
}
你可以發佈你的HTML和小提琴呢? – Mathias
每當您滾動並且條件'(distance + navHeight)<= 1'爲true時,slideToggle事件將觸發,隨後觸發緩衝動畫。我假設沒有滾動時彈跳停止,對嗎? –
@MikeHometchko:即使我停止滾動,它實際上仍會彈起。您可以查看一個實時版本(鏈接在問題的底部)。 – holyredbeard