對於我的網站,我製作了一個不錯的「Jumbotron」。如果div達到某個位置,則在導航欄中混合
爲了更好地展示它,我想將導航欄的不透明度設置爲0,直到用戶到達下一層。然後,它應該融入
所以我寫了這一點:
$(document).ready(function(){
$(window).on('scroll', function() {
var scrollTop = $(window).scrollTop(),
thirdLayerOffset = $('#thirdLayer').offset().top,
distanceTop = (thirdLayerOffset - scrollTop);
if(distanceTop < 0) {
$('#navMenu').css({
opacity: 1
})
}
else if (distanceTop > 0) {
$('#navMenu').css({
'opacity': 0
})
}
});
});
全集至今罰款,但我想整個體驗更加流暢。所以我嘗試了jquery .animate()。
if(distanceTop < 0) {
$('#navMenu').animate({
opacity: 1
}, 500, function() {
});
}
使用這會導致一個問題:當我再次快速向上滾動時,它保持並開始像瘋了一樣閃爍。我很確定它有500毫秒的問題。
但我沒有一個想法如何解決它。
我見過其他網站使用這樣的東西,所以它應該是可能的。 任何人都可以給我一個關於如何使它工作的提示嗎?
問候
編輯:加入HTML:
<div class="container-fluid">
<nav class="navbar navbar-default navbar-fixed-top navMenu" id="navMenu">
<div class="container col-md-12" style="background-color: #ffffff">
<div class="col-md-4">
<img src="lib/img/logo.jpg" id="logo">
</div>
<div class="col-md-8">
<!-- Space for menu Bar-->
</div>
</div>
</nav>
</div>
<div class="container-fluid">
<!-- JumboTronText1 -->
<div class="col-md-12 JumboC">
<div class="getInvisible2">
<h1 class="animated infinite pulse" id="pulseHeader">Durchatmen und runterscrollen<br> <i class="fa fa-arrow-circle-o-down"></i>
</h1>
</div>
<!-- JumboTron Image with second Text-->
<div class="JumboCImage" id="JumboCImage">
<h2 style="z-index: -1;" id="JumboCImageText">Wilkommen.
</h2>
</div>
<div class="container-fluid secondPart">
<div class="secondLayer" id="secondLayer">
</div>
<!-- Third Layer Blend Menu in-->
<div class="thirdLayer col-md-12 container-fluid" id="thirdLayer">
<h1>
<br>TEXT<br>
</h1>
</div>
很抱歉的壞格式。出了些問題。我會在下班後嘗試修復它。
一個最小的例子,其中也包含HTML和CSS將會很有幫助。 [JSFiddle](http://jsfiddle.net) –