11

2 つの div と 2 つのボタンがあります。

<div id="container">
    <div id="items"></div>
</div>
<div id="up"></div>
<div id="down"></div>

ユーザーがボタンを離すまで「#items」を連続してスクロールする方法は? jquery mousedown イベントとアニメーション機能を使用してみましたが、動作しませんでした。

$("#up").mousedown(function(){
$("#items").animate({"top": "+=10px"}, "fast");
})

上記のコードは、div を 1 回だけ移動します。ボタンを離すまで連続アニメーションを実現したい。ご協力いただきありがとうございます!

4

2 に答える 2

16

これを試してください:

var scrolling = false;

jQuery(function($){
    $("#up").mousedown(function(){
        scrolling = true;
        startScrolling($("#items"), "-=10px");
    }).mouseup(function(){
        scrolling = false;
    });
});

function startScrolling(obj, param)
{
    obj.animate({"top": param}, "fast", function(){
        if (scrolling)
        {
            startScrolling(obj, param);
        }
    });
}
于 2009-10-03T01:06:34.833 に答える