私はあなたがこれを行うことができると信じていますscrollLeft
$("#leftArrow").click(function(){
$("#divId").scrollLeft(Math.max(0, $("#divId").scrollLeft() - 100));
});
$("#rightArrow").click(function(){
$("#divId").scrollLeft(Math.min(1000, $("#divId").scrollLeft() + 100));
});
0
との代わりに適切な制限を使用し1000
、 の代わりに画像の幅を設定します100
。
ただし、サンプル ページを見ると、別の問題があります。
画像は次のように配置されていると思います。
【見える範囲】 【はみ出し…】
.=========================._ ___ __ ___ ___
X | | | | | | | | | | | X | | | | | | | . . . | | | |
X___|___|___|___|___|___|_X_|___|___|___| |___|
"=========================
可視領域を水平方向にスクロールすると、他の画像が表示されるようになります。
実際、画像は次のように配置されています。
【見える範囲】
.=========================。
X | | | | | | | | | | | バツ
X___|___|___|___|___|___| バツ
"=========================
|___|___|___|___|___|___|
| | | | | | | | | | | | | |
|___|___|___|___|___|___| [オーバーフロー...]
...
___ ___ ___ ___ ___ ___
| | | | | | | | | | | | | |
|___|___|___|___|___|___|
...だから横スクロールはダメ。(画像は実際には縦にオーバーフローしています! 実際、同じコードを使用する場合にこれを見ることができますが、scrollTop
代わりにを使用しますscrollLeft
)
明示的な幅を持つ div 内にあるため、画像は折り返されています。
overflow:none
これを解決するには、すべての画像を収容するのに十分な幅の最初の div ( が付いているもの) 内に 2 番目の div を配置します。
あなたのページがそうであるように、実行中
javascript:
$("#images")
.css("overflow", "hidden")
.wrapInner("<div style='width:1000px'>");
トリックを行います。次に、実行すると
javascript:
$("#images").scrollLeft(10);
水平スクロールが実際に機能することがわかります。