我想在我的站點的「主」部分滾動到時更改導航欄顏色。想要在滾動到特定元素時更改導航顏色
目前我已經改變了顏色,但沒有在那個特定的部分。由於網站的響應式設計,它需要在該部分進行更改。
下面是一個基本的jsfiddle例如:http://jsfiddle.net/Forresty/8ottpo6x/1/
下面是代碼:
HTML:
<nav class="test"></nav>
<div class="someText">
<p>......</p>
</div>
<main></main>
CSS:
nav {
position: fixed;
width: 100%;
top: 0;
height: 4.5em;
background: black;
}
.main{
width: 400px;
height: 2000px;
background: gray;
}
.black{
background: red;
}
使用Javascript:
$(window).scroll (function() {
var target = $(this).scrollTop();
if (target >= 500) {
$('nav').addClass('black');
}else {
$('nav').removeClass('black');
}
});
我嘗試下面的JavaScript也:
var main = $('main');
$(window).scroll (function() {
var target = $(this).scrollTop();
if (target >= main) {
$('nav').addClass('black');
}else {
$('nav').removeClass('black');
}
});
這並沒有在所有的工作。
任何幫助將不勝感激。
謝謝。
您可以使用此解決方案:http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in -the-current-viewport/7557433#7557433測試main是否在視口中 – 2014-09-21 15:33:26