我是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方法,但是,我无法这样做。任何帮助将不胜感激。
答案 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();
});