0
我已經編寫了我自己的ModalDialog函數,並且彈出窗口只能工作一次。這裏是我的ModalDialog函數:爲什麼jquery fadein只能工作一次?
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。那爲什麼它只顯示彈出一次而不是第二/第三/第四次等等......?
確實,它工作得很好。 [這裏是](http://jsfiddle.net/BhU6F/4/)更新小提琴證明它顯示正確的文本。 –
@Shadow Wizard這正是我想要做的:只顯示最後一個。基本上,ModalDialog函數被稱爲onclick按鈕。所以,想象一下:點擊按鈕 - >彈出。點擊彈出 - >彈出消失。現在,當用戶再次點擊該按鈕時,它應該再次彈出,而不是。 – TPR
是的,它確實有效。在[我更新的小提琴](http://jsfiddle.net/BhU6F/4/)中點擊按鈕 - 「你好」出現。點擊「你好」就會消失。再次單擊該按鈕,將出現新的「hello」。 –