0

divボタンをクリックすると、指定された領域にスクロールしたいと思います。最初のクリックではすべて問題ありませんが、2 回目以降のクリックでは、スクロール アニメーションが機能しないか、大幅に遅れて機能します。これは私の jsfiddle です: http://jsfiddle.net/AliN11/7CgFp/3/

注:jsfiddeを開くときは、jsfiddleの結果セクションで少し水平スクロールしてください。

4

2 に答える 2

2

ウィンドウがスクロールするたびに、新しいクリック ハンドラーを追加しています。これはあなたが望むものではありません。クリック ハンドラを 1 回追加するだけで完了です。

$("#b1").click(function(){$("#main").animate({ scrollLeft:110 }, "fast");});
$("#b2").click(function(){$("#main").animate({ scrollLeft:210 }, "fast");});
$("#b3").click(function(){$("#main").animate({ scrollLeft:310 }, "fast");});
$("#b4").click(function(){$("#main").animate({ scrollLeft:410 }, "fast");});

http://jsfiddle.net/7CgFp/4/

于 2013-11-05T16:26:36.193 に答える
0

次のように JavaScript を変更します。

 $(document).ready(function(){
        $("#b1").click(function(){$("#main").animate({ scrollLeft:110 }, "fast");});
        $("#b2").click(function(){$("#main").animate({ scrollLeft:210 }, "fast");});
        $("#b3").click(function(){$("#main").animate({ scrollLeft:310 }, "fast");});
        $("#b4").click(function(){$("#main").animate({ scrollLeft:410 }, "fast");});

    });
于 2013-11-05T16:29:05.513 に答える