我正在为我的rails应用程序实现添加wishlist功能。到目前为止,我可以对话消息并在5秒后使其消失。问题是,一旦淡出并且用户点击另一个“添加心愿单”没有对话框。他们必须刷新页面。我还在学习,所以我知道发生了什么。我需要用js关闭对话但是怎么做?
HTML
<section data-id="notification"></section>
的JavaScript
...
// Calling the notification();
// You need to reduce that data string!
notification("<div id='noti' class='alert alert-success'><a href='#' class='close' data-dismiss='alert' aria-label='close'>×</a><p>WishList Added!</p></div>");
...
function notification(data){
$( "[data-id=notification]" ).append( data ).delay(5000).fadeOut(400); // I've tried adding .dialog('close')
$('#noti').dialog('close'); // this gives an error.
}
...
总之,当用户添加到心愿单时,会显示一个对话框。用户可以手动关闭对话框,或者在x
秒后自动关闭。如果对话框自动关闭,用户点击另一个添加心愿单,警报重新出现等等。我需要将其从dom中删除。
每次用户添加/删除心愿单时,显示消息可能没有意义,但这对我应用的其他部分非常有用。
This question是4年前。从那以后有什么变化吗我需要两个:用户关闭和js关闭。
答案 0 :(得分:1)
您应该使用alert('close')
:
$( "[data-id=notification]" ).append( data ).delay(5000).fadeOut(400);
$('#noti').alert('close');
或使用setTimeout
:
$( "[data-id=notification]" ).append( data );
setTimeout(function() { $('#noti').alert('close'); }, 5000);
希望这有帮助。