公司的项目中用到了这个新消息提示的效果,主要用于提示用户有新消息。具体实现代码如下:
复制代码 代码如下:
var newMessageRemind = {
_step: 0,
_title: document.title,
_timer: null,
//显示新消息提示
show: function() {
var temps = newMessageRemind._title.replace("【 】", "").replace("【新消息】", "");
newMessageRemind._timer = setTimeout(function() {
newMessageRemind.show();
//这里写Cookie操作
newMessageRemind._step++;
if (newMessageRemind._step == 3) {
newMessageRemind._step = 1
};
if (newMessageRemind._step == 1) {
document.title = "【 】" + temps
};
if (newMessageRemind._step == 2) {
document.title = "【新消息】" + temps
};
},
800);
return [newMessageRemind._timer, newMessageRemind._title];
},
//取消新消息提示
clear: function() {
clearTimeout(newMessageRemind._timer);
document.title = newMessageRemind._title;
//这里写Cookie操作
}
};
调用显示新消息提示:newMessageRemind.show();
调用取消新消息提示:newMessageRemind.clear();
另:单纯的这个代码会出现这么一个问题:
就是当你打开一个站点很多张页面的时候,如过有新消息,那么所有页面都会不停的闪,当你查看消息后其他页面仍会提示。
我们公司是通过使用Cookie的方式解决的,当查看新消息后所有标题闪动的页面将全部取消提示。