【发布时间】:2011-07-12 02:23:05
【问题描述】:
我尝试为内联确认“对话框”编写一些草率的 jQuery 代码。它工作得很好,除了delay() 只为每个#row_ID 运行一次。如果用户在特定时间跨度内没有与之交互,延迟意味着淡出“对话框”。 “取消”链接每次都很好用。
关于我做错了什么有什么想法吗?
这是 JS:
$("a.i_delete").click(function() {
var parent = $(this).attr("id");
var parentRow = "#row_" + parent;
var inlineConfirm = $('<div id="confirm_' + parent + '" class="inline_c"><a href="#cancel" class="ic_cancel">Cancel, I want to keep it</a><a href="/?id=' + parent + '" class="ic_confirm">Delete</a></div>').hide().fadeIn(500);
$(parentRow).append(inlineConfirm).delay(3500).queue(function() {
$("#confirm_" + parent).fadeOut(2000,function() {
$("#confirm_" + parent).remove();
});
});
$("a.ic_cancel").click(function() {
$("#confirm_" + parent).fadeOut(500,function() {
$("#confirm_" + parent).remove();
});
return false;
});
return false;
});
这是html:
<div id="row_XXX" class="l_row">
Bla bla bla <a href="/?id=XXX" id="XXX" class="i_delete" title="Delete link">Delete</a>
</div>
【问题讨论】:
标签: jquery delay fadein fadeout