延迟附加到元素

时间:2014-02-16 12:08:55

标签: javascript jquery

我是JavaScript的新手,我只是想知道是否可以将附加元素延迟到另一个元素。我有一张地图,我以锚标签的形式附加了点。页面加载后,将显示所有标记。我认为用短延迟添加每个指针是一个很好的功能。这是我目前的追加方式,

element = $("<a href='#' class='deskBtn tooltip fancybox' title='" + this.allData[i].Name + "' data-name='" + this.allData[i].UserName + "' data-department='" + this.allData[i].DepartmentName + "'></a>");

$(element).css({
    "top": this.allData[i].DeskYCoord,
        "left": this.allData[i].DeskXCoord
}).appendTo(".map");

我尝试在追加后暴露setInterval方法,但是,我无法这样做。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您应该使用超时,而不是间隔或使用延迟:

$(element).css({
    "top": this.allData[i].DeskYCoord,
        "left": this.allData[i].DeskXCoord
}).delay(2000).queue(function(next){
  $(this).appendTo(".map");
  next();
});

答案 1 :(得分:0)

使用jQuery的delay()功能:

element = $("<a href='#' class='deskBtn tooltip fancybox' title='" + this.allData[i].Name + "' data-name='" + this.allData[i].UserName + "' data-department='" + this.allData[i].DepartmentName + "'></a>");

  $(element).css({
                "top": this.allData[i].DeskYCoord,
                "left": this.allData[i].DeskXCoord
            })
.delay ( 800, "my-queue" ).queue("my-queue", function (next) {
$(this).appendTo(".map");
next();

});