2011-12-22 19 views
5

私はタイトルが少し混乱していることを知っていますが、基本的に私がしたいことは、このウェブサイトで明確に示されていますhttp://9gag.comスクロールしてサイドバーに注意を払うと、2回目の広告があります。ページ。divをページの一番上に達するとページを下にスクロールさせる方法は?

どうすればいいですか? html/cssまたはjQueryのソリューションが事前に用意されています。

+2

を使用することができますスクロールトップがその量より低く戻ったときにクラスを削除します。サンプルとして投稿するコードはありませんので、私は答えとして投稿しません。 –

+0

@KevinB thnx、しかし私はコードが良くないので、私はコードを先取りするつもりだが、ロジックのthnx! – Ilja

答えて

7

Kevinは指摘するとおり、ドキュメントのscrollイベントを聞くことが必要です。それが解雇されたら、scrollTopの値を見たいと思うでしょう。

$(document).scroll(function() { 

    var useFixedSidebar = $(document).scrollTop() >= myThresholdValue; 
    $('.my-sidebar-items').toggleClass('fixed', useFixedSidebar); 

}); 

そして、あなたのCSSは、基本的に次のようになります。

.my-sidebar-items.fixedSidebar { position: fixed; } 

の複雑な要因は、おそらくアイテムは彼らの新しい、トップの位置に固定することにしたいだろうということで、あなたはしたいと思います

.my-sidebar-items.fixedSidebar { position: fixed; top: 0 } 

しかし、おそらくお互いの上にアイテムが積み重なるでしょう。それに対する解決策は、fixedSidebarクラスをコンテナに置き、説明されているようにクラスを使用することです。

Demo

+0

私は今thnxを試してみます – Ilja

関連する問題