我正在使用jQuery Growl插件向我的网站中的用户通知消息, 我的消息displayTimeout是3500,我的问题是一些通知消息需要在displayTimeout之后淡出,但有些需要保持静态,直到我将它们删除。 我的问题是我如何让我的通知留下而不是淡出? 感谢
答案 0 :(得分:1)
在jquery.growl.js文件中只需注释这行代码:
if ($.growl.settings.displayTimeout > 0) {
setTimeout(function(){
jQuery.growl.settings.noticeRemove(notice, function(){
notice.remove();
});
}, jQuery.growl.settings.displayTimeout);
}
答案 1 :(得分:1)
这个循环负责显示和淡化..你可以编辑代码..
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
});
它不会消失..您可能想要使用" dismiss"
手动淡化它答案 2 :(得分: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;
}
}