1

非常に単純な回転バナー リストを作成しようとしています。

フィドルはこちら: http://jsfiddle.net/a9dAm/

if ($("#ads").length > 0) {
    var count_banners = $("#ads a").length;
    var delay_time = 1000;
    var i = 1;

    while (count_banners >= i) {
        $("#ads a:nth-child("+ i +")").delay(delay_time * i).show(1, function(){
            $(this).fadeOut("slow").prepend($("#ads"));
        });
        i++;
    }
}

Prepend はすべてを壊し、#ads はすべて一緒に消えます。何が起こっているのですか? または私は何を間違っていますか?

4

2 に答える 2

3

.prependTo()ではなく、欲しいと思います.prepend()

        $(this).fadeOut("slow").prependTo($("#ads"));

あるいは単に

        $(this).fadeOut("slow").prependTo("#ads");

関数は、呼び出し元の要素の.prepend()前に引数を追加します。

于 2013-02-27T15:14:55.033 に答える
1

.prependではなくを使用していたため、消えています.prependTo。基本的に、単一の広告ではなく、広告を移動していました。

更新されたフィドル: http://jsfiddle.net/klatzkaj/a9dAm/1/

これは関連する行です:$(this).fadeOut("slow").prependTo($("#ads"));

于 2013-02-27T15:15:09.800 に答える