0

最新のツイートをスクロールする水平ティッカーを作成しています。雲海の jQuery プラグインを介してツイートをフィードします。

を使用してループしようとしているアニメーション関数を作成しましたsetTimeout(doTicker, 6000);

誰かが私が間違っていることを理解するのを手伝ってくれますか? どうもありがとうございました。


以下のコードを参照してください...

フィドルも作成しました。http://jsfiddle.net/motocomdigital/h4x8D/1/

ここに画像の説明を入力

doTicker をループ/循環させることができません

$(".tweetbar-ticker").tweet({

    username: "twitter",
    join_text: "auto",
    count: 1,
    auto_join_text_default: "we said,",
    auto_join_text_ed: "we",
    auto_join_text_ing: "we were",
    auto_join_text_reply: "we replied to",
    auto_join_text_url: "we were checking out",
    loading_text: "loading tweets..."

}).bind("loaded", function() {

    $('.tweetbar-ticker ul li').clone().appendTo('.tweetbar-ticker ul');

    var $tweetBar = $('.tweetbar-ticker'),
        tweetLength = $('.tweetbar-ticker ul li').outerWidth(),
        $tweetAnchor = $('.tweetbar-ticker ul li a');

    $tweetBar.css({
        'width': tweetLength * 2 + 'px'
    });

    $tweetAnchor.attr({
        target: "_blank"
    });

    function doTicker() {

        $tweetBar.animate({
            'left': '-' + tweetLength + 'px'
        }, 20000, 'linear');

        setTimeout(doTicker, 6000);
    }

    doTicker();

});​

ありがとうジョシュ

4

2 に答える 2

2

あなたは正しいコードを持っていますが、その値にアニメーション化されるとすぐに -left をアニメーション化しないので、左の css をリセットする必要があります。

第二に、setTimeout としてではなくコールバックとして呼び出す方が良いです...

それを確認します:

http://jsfiddle.net/h4x8D/2/

于 2012-06-26T23:49:48.687 に答える
0

6 秒のタイムアウトで doTicker() を再帰的に呼び出そうとしていますか?

もしそうなら、setInterval代わりに使用してみませんか?

これは次のようになります。

function doTicker() {
    $tweetBar.animate({
        'left': '-' + tweetLength + 'px'
    }, 20000, 'linear');
}

setInterval(doTicker,6000);
于 2012-06-26T23:48:21.443 に答える