为什么 jquery fadein 只工作一次?
我已经编写了自己的 ModalDialog 函数,并且弹出窗口仅工作一次。这是我的 ModalDialog 函数:
function ModalDialog(button, text, fadeOut) {
$('.error-notification').remove();
var x = "#" + button;
var $err = $('<div>').addClass('error-notification')
.html(text)
.css('left', $(x).position().left);
$(x).after($err);
$err.fadeIn('slow');
if (fadeOut == true) {
setTimeout(function() {
$err.fadeOut()
}, 3000);
}
//$err.delay(0).fadeOut('slow');
}
这是母版页加载的脚本文件中的代码。
$(".error-notification").live('click', function () {
$(this).fadeOut('fast', function () { $(this).remove(); });
});
这是我调用该函数的方式。
ModalDialog('testingAjax', 'h', false);
我知道每次都会调用 ModalDialog 函数,因为我最后在函数内使用了 console.log 。那么为什么它只显示弹出窗口一次而不是第二次/第三次/第四次等等......?
I've coded my own ModalDialog function, and the popup is working only once. Here's my ModalDialog function:
function ModalDialog(button, text, fadeOut) {
$('.error-notification').remove();
var x = "#" + button;
var $err = $('<div>').addClass('error-notification')
.html(text)
.css('left', $(x).position().left);
$(x).after($err);
$err.fadeIn('slow');
if (fadeOut == true) {
setTimeout(function() {
$err.fadeOut()
}, 3000);
}
//$err.delay(0).fadeOut('slow');
}
And here is the code that is in the script file that masterpage loads.
$(".error-notification").live('click', function () {
$(this).fadeOut('fast', function () { $(this).remove(); });
});
Here is how I am calling the function.
ModalDialog('testingAjax', 'h', false);
I know the ModalDialog function is being called each time, because I used console.log inside the function at the very last. So why is it showing the popup only once and not second/third/fourth time etc...?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您将删除所有以前存在的弹出窗口:
它实际上显示了所有弹出窗口,但仅保留最后一个。
这是一个相关的小提琴: http://jsfiddle.net/BhU6F/3/
You are removing all previously existing popups:
It's actually showing them all, but keeping only the last one.
Here's a relevant fiddle: http://jsfiddle.net/BhU6F/3/