2017-04-19 15 views
1

青いセクションのみをスクロールする場合は、ナビゲーションバーが白くなる必要があります。私はこれを自分でしようとしましたが、正しく動作しません。これは私が達成しようとしている最終的な結果ではありません私はそれをコーディングを続けることができるように動作するために必要です。おかげスクロール位置に基づくステートメントが機能しない場合

https://codepen.io/Reece_Dev/pen/MmKprq

$(window).scroll(function() { 
 
    var scrollPos = $(window).scrollTop(); 
 
    var page1Top = $("#sec_one").scrollTop(); 
 
    var page1Bot = $("#sec_one").outerHeight(); 
 

 
    var page2 = $("#sec_two").scrollTop(); 
 
    var page3 = $("#sec_three").scrollTop(); 
 

 
    if (scrollPos => page1Top && scrollPos < page1Bot) { 
 
    $('nav').css("background-color", "#ffffff"); 
 
    } 
 
});
* { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 

 
nav { 
 
    width: 100%; 
 
    background-color: black; 
 
    position: fixed; 
 
    top: 0; 
 
} 
 

 
nav ul { 
 
    width: 50%; 
 
    margin: 0 auto; 
 
    list-style-type: none; 
 
    text-align: center; 
 
} 
 

 
nav ul li { 
 
    display: inline; 
 
    width: 100%; 
 
} 
 

 
nav ul li a { 
 
    font-size: 40px; 
 
    color: white; 
 
    text-decoration: none; 
 
} 
 

 
nav ul li a {} 
 

 
.sections { 
 
    width: 100%; 
 
    height: 100vh; 
 
} 
 

 
#sec_one { 
 
    background-color: blue; 
 
} 
 

 
#sec_two { 
 
    background-color: red; 
 
} 
 

 
#sec_three { 
 
    background-color: yellow; 
 
}
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script> 
 

 
<nav> 
 
    <ul> 
 
    <li><a href="" id="link 1">Link 1</a></li> 
 
    <li><a href="" id="link 2">Link 2</a></li> 
 
    <li><a href="" id="link 3">Link 3</a></li> 
 
    </ul> 
 
</nav> 
 

 
<div id="sec_one" class="sections"> 
 

 
</div> 
 

 
<div id="sec_two" class="sections"> 
 

 
</div> 
 

 
<div id="sec_three" class="sections"> 
 

 
</div>

+1

'=>'はjavaScriptの矢印関数ですが、代わりに '> ='を使用します。 –

答えて

3

"優れか等しい" とはJavaScriptでこのよう書き込む必要があるからです:>=を。あなたのものは次のようなものです:=>

とスクロール位置条件​​がfalseの場合は、色をバックに変更する必要があります。

if(scrollPos >= page1Top && scrollPos < page1Bot){ 
    $('nav').css("background-color", "#ffffff"); 
} else { 
    $('nav').css("background-color", "#000000"); 
} 

青色の部分は、ページの上部にある最初のものであるならば、あなたは白に、それを定義する必要がありますCSSコード。

JSFiddleを参照してください。

関連する問題