divをオーバーフローで非表示に設定しました。 2つのトリガでオーバーフローでレイヤ内のアイテムをスクロールできます。最後の項目がjQueryに達したら、.animate()を停止
アイテムが非表示のオーバーフローdivがあります。私は、UP/DOWN要素のクリックに隠された領域内のボックスをスクロールすることができます:スクロールが最初または最後の要素に到達すると
$("#up").click(function(){
$("#container").find(".box").animate({"top": "+=20px"}, "slow");
});
$("#down").click(function(){
$("#container").find(".box").animate({"top": "-=20px"}, "slow");
});
<style>
#itemsList {
height:60px;
}
.box {
height:20px;
position:relative;
}
</style>
<div id="container">
<div id="up" class="scroll">UP</div>
<div id="itemsList">
<div id="item1" class="box">item 1</div>
<div id="item2" class="box">qweqweqwe</div>
<div id="item3" class="box">qqqqqqqq</div>
<div id="item4" class="box">eeeeeee</div>
<div id="item5" class="box">rrrrrrrr</div>
<div id="item6" class="box">tttttt 11</div>
</div>
<div id="down" class="scroll">DOWN</div>
</div>
は、私は().animateを無効にする必要があります。上記のコードは動作しますが、.animate()は停止しません。スクロール可能な要素の位置を確認するためのコードをいくつか追加しましたが(jsfiddleリンク参照)、何かを乱したようです。
ここは私のJSfiddleです。
。これは、あなたではなく任意にスクロール位置に20ピクセルを追加するよりも(動画付き)特定の項目にスクロールすることができます。また、アイテムのy座標を取得し、スクロールトップの値を変更することで、これを簡単に実行できます。 – Dutchie432
真実ですが、この場合はプラグインをスキップします。多分、寸法を使わずにアイテムにスクロールすることができます... – santa
が合意しました。同じ概念が適用されます。スクロールする次の項目を探します。 'obj.position()。top'を使用してy座標を探し、' $( '#container')を設定します。scrollTop(y); ' – Dutchie432