2011-12-21 5 views
0

この質問はhereでしたが、ナビゲーションが水平であるとどうなりますか?私はdivが水平方向のナビゲーションから見えるようにスクロールする瞬間に、アクティブなボタンでクラスをアクティブに変更したいと思います。jQueryがdivで水平方向にスクロールするときのナビゲーションでのクラスの変更

現在、私が取り組んでいるウェブサイトは、縦横両方向にスクロールして、同じ軸で他のdivを持つdivに到達するまでに、選択したhtmlの最初のdivを表示します現在のビューにはありません。

divが実際にウィンドウビューにあるとき、どのようにして軸とトグルクラスをチェックすることができますか?

ありがとう

答えて

0

このようなスクロールイベントをキャッチすることができます。

$('body').scroll(function(){ 

}); 

次の行はスクロール位置を示します。

入力divに気付くと、本文がスクロールされるたびにスクロール値とdivオフセットが比較されます。

if($('#div').offset().left < $(window).scrollLeft()) 
{ 
    alert('I am in your view!'); 
} 

おそらく計算にボディ幅を追加する必要があります。

クラスを切り替えるには、toggleClassという名前の関数があります。あなたはaddClassremoveClassというユーザーも登録できます。

+0

Thx、遅いコメントを申し訳ありませんが、私はこの答えの通知を得ていない、ボディサイズは、画面のサイズは、100%の完全な幅ですか?それをどのように追加しますか? – dragoslup

+0

体の長さが画面の幅と等しい場合、スクロールすることはできません。しかし、あなたは体のサイズを知る必要はありません。ちょうど3番目のコードブロックを通過して1番目になります。それはそれを行う必要があります。 – danijar

+0

私はそれを試みます。ボディーサイズについては、ボディーが画面内の幅が広いために画面がスクロールするのと同じサイズになると思いました。 – dragoslup

関連する問題