divがスクロールされたときに特定のポイントに到達したときに、スクリプトを実行しようとしています。固定ナビゲーションがあり、ユーザーがウィンドウをスクロールすると、ナビゲーションに近づいたらナビゲーション名を変更すると想定されます。$(window).scroll関数を使用していますが、divの位置を1回だけチェックし、値を更新していません。スクロールを作成する方法は、5〜10ピクセル移動するごとにウィンドウサイズをチェックして、メモリや処理をあまり消費しないようにします。コードは次の場所で設定されています:http://jsfiddle.net/rexonms/hyMxq/
HTML
<div id="nav"> NAVIGATION
<div class="message">div name</div>
</div>
<div id="main">
<div id="a">Div A</div>
<div id ="b"> Div B</div>
<div id ="c"> Div C</div>
</div>
CSS
#nav {
height: 50px;
background-color: #999;
position:fixed;
top:0;
width:100%;
}
#main{
margin-top:55px;
}
#a, #b, #c {
height:300px;
background-color:#ddd;
margin-bottom:2px;
}
脚本
$(window).scroll(function() {
var b = $('#b').position();
$('.message').text(b.top);
if (b.top == 55) {
$('.message').text("Div B");
}
});