我正在使用 jQuery Growl 插件在我的网站上向我的用户通知消息,我的消息 displayTimeout 是 3500,我的问题是一些通知消息需要在 displayTimeout 之后消失,但有些需要保持静态,直到我将它们删除。我的问题是我如何让我的通知保持不变而不是淡出?谢谢
问问题
2456 次
3 回答
2
这个循环负责显示和褪色..您可以编辑代码..
Growl.prototype.cycle = function() {
var $growl;
$growl = this.$growl();
console.log(this.settings.duration);
return enter code here$growl.queue(this.present).delay(this.settings.duration).queue(this.dismiss).queue(this.remove);
};
弄成这样。。
Growl.prototype.cycle = function() {
var $growl;
$growl = this.$growl();
console.log(this.settings.duration);
if(this.settings.duration==0){
return $growl.queue(this.present);
}else{
return $growl.queue(this.present).delay(this.settings.duration).queue(this.dismiss).queue(this.remove);
}
};
所以如果你像这样初始化..
$.growl({
title: "Saving",
style: "primary",
message: 'Please wait...',
duration: 0
});
它不会淡出..您可能想使用“关闭”手动淡出它
于 2015-06-01T16:26:04.653 回答
1
在 jquery.growl.js 文件中只需注释这行代码:
if ($.growl.settings.displayTimeout > 0) {
setTimeout(function(){
jQuery.growl.settings.noticeRemove(notice, function(){
notice.remove();
});
}, jQuery.growl.settings.displayTimeout);
}
于 2013-03-13T14:32:25.897 回答
0
我使用 Growl.settings.duration = duration; 解决了它
我创建的函数:
function woobe_message(text, type, duration = 0) {
jQuery('.growl').hide();
if (duration > 0) {
Growl.settings.duration = duration;
}
switch (type) {
case 'notice':
jQuery.growl.notice({message: text});
break;
case 'warning':
jQuery.growl.warning({message: text});
break;
case 'clean':
//clean
break;
default:
jQuery.growl({title: '', message: text});
break;
}
}
于 2017-12-22T12:20:40.570 回答