0

プラグインなしで各divにIDを割り当てずに、最も簡単なjQueryでコンテンツスライダーを作成しようとしています。jQuery scrollクリックコンテナ内のトップへ

私は固定位置#containerを持っています。これは、ページの幅100%、高さ45%であり、.sectと呼ばれる5つのdivが含まれています。すべて5 .sectはコンテナの100%の幅で、ページの高さも45%です。これは、スクロールすると、#containerの可視部分を1 .sectで埋めることを意味します。

a外側#containerは、クリックすると、それぞれのにスクロールします。#containersect s。これは私のjQueryです。私はscrollTopの値を.sectの高さに設定して、クリックするたびに#containerが各セクトの正確な高さをスクロールするようにします。

$('#down').on('click', function(e) { 
    e.preventDefault(); 
    $('#container').animate({ scrollTop:$('.sect').height() }) 
}); 

初めて#downは問題なく第二.sectを視野に第一.sectから、#containerスクロールをクリックすると、が、その後、#downはもう何もしません。 jsfiddle - htmlとcssは注目に値しないと思います。私はjQueryを初めて使っていますので、何が足りないのか説明してください!

+0

ルック:http://stackoverflow.com/a/28052027/6294054 –

+0

@JCFongはこれに私を導くためのありがとう!私は読んで、jQueryの背後にあるロジックを理解し、レイアウトにjQueryを適用しましたが、同じことはしません。それはおそらく私のdivの高さと関係があるが、私は正確に同じことをしていないのか分からないhttps://jsfiddle.net/vq23tku7/14/ – ampora

答えて

0

私は唯一の1の高さまでスクロールし、それはようにする必要があり.sectあなたのコード、あなたは、コンテナはそれが行っているどのくらいのスクロールのに応じて、スクロールを続けるべきだと不足していると思う:

scrollTopスプライト:+スクロールこのスレッドへの高さ

scrollTop: $("#container").scrollTop() + $(".sect").height(); 
+0

これは本当にありがとう!私はscrollTopの文書をよく読んでいなかったが、今私がしたことは意味がある! scrollTopは、要素のスクロールバーの位置です。 – ampora

+0

喜んで私は助けた、私は推測する。 –

関連する問題