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 回答