JQuery .append()执行6次而不是1次

时间:2011-05-04 18:00:44

标签: javascript jquery

基本上,我正在尝试做的是通过横向滚动横幅然后在每个横向视图之后移动到底部来创建一个字幕类型的东西。我无法弄清楚为什么横幅被追加六次。我意识到它并不完全,所以请不要对此发表评论。如果您有更好的建议,请告诉我。 http://jsfiddle.net/vCuHc/2/

编辑:如何将顶部元素追加到底部,然后删除顶部元素?

4 个答案:

答案 0 :(得分:2)

您有六个具有相同类别的元素。该脚本为每个元素运行一次。

在动画完成后附加到父div而不是每个动画的末尾,更改运行一次的代码。

答案 1 :(得分:1)

正在调用$('.tornado_banner')的结果中的每个元素。

答案 2 :(得分:1)

而不是

function(){
...
        $("#banner_container").append(
            '<a class="tornado_banner" id="banner_alberta" href="#" style="top:' + elementNum * -130 + 'px">&nbsp;</a>'
        );

尝试

function(){
   $(this).detach().appendTo("#banner_container");
}

答案 3 :(得分:0)

如果我理解你的编辑正确,

var first = jQuery("#banner_container a:first");
jQuery("#banner_container").append(first);

这将删除第一个元素,同时将其附加到列表的末尾。