我已经阅读了很多关于如何在几秒钟后以多种方式隐藏对话框的答案。但是,我的示例无法完成这项工作。
我正在使用一个 opencart 插件,该插件在您将产品添加到购物车后会显示一个 DIV,但会停留在那里并且仅在用户单击“继续购物”时才会关闭。我希望这个 DIV 在 5 秒后自动关闭。
我已经尝试过 setTimeout、延迟等,但没有任何效果......所以我不确定我做错了什么:
代码是这样的:
$('#cart-total').html(json['total']);
$('<div id="slidecart-success">'+json["confirmation"]+'</div>').
dialog({
autoOpen : true,
modal: true,
width : 480,
resizable: false,
title : cart_title,
buttons: [{
text: cart_checkout,
click: function() { location = 'index.php?route=checkout/simplecheckout'; }
},{
text: pop_continue,
click: function() { $(this).dialog("close"); }
}],
dialogClass: "slidecart-success",
create:function(){
$("#slidecart-success-confirm").bind("click",
function(){
$('#slidecart-success').dialog('close');
}
);
},
close: function(){
$("#slidecart-success-confirm").unbind("click");
$('#slidecart-success').remove();
}
});
有人可以帮助我吗?
编辑:
我也在尝试没有成功:
if (json['success']) {
$('#cart-total').html(json['total']);
// Start edit by Best-Byte //
$('<div id="slidecart-success">'+json["confirmation"]+'</div>').
dialog({
autoOpen : true,
modal: true,
width : 480,
resizable: false,
title : cart_title,
buttons: [{
text: cart_checkout,
click: function() { location = 'index.php?route=checkout/simplecheckout'; }
},{
text: pop_continue,
click: function() { $(this).dialog("close"); }
}
],
dialogClass: "slidecart-success",
create:function(){
setTimeout(function(){
$("#slidecart-success-confirm").click();
}, 5000);
$("#slidecart-success-confirm").live("click",
function(){
$('#slidecart-success').dialog('close');
}
);
},