公司的项目中用到了这个新消息提示的效果,主要用于提示用户有新消息。具体实现代码如下:
代码如下 | 复制代码 |
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();
看了上面代码自己再进行优化一下,不管怎样,自己能吸收学习到就好了。:)我主要是觉得他代码里面 newMessageRemind 这字段用得太多了,看起来密密麻麻的,多不舒服啊,想着换一种小清新的方式展现出来,于是乎就有了下面的代码:
代码如下 | 复制代码 |
var newMessageRemind = function () { var i = 0, title = document.title, loop; return { show: function () { loop = setInterval(function () { i++; if ( i == 1 ) document.title = '【新消息】' + title; if ( i == 2 ) document.title = '【 】' + title; if ( i == 3 ) i = 0; }, 800); }, stop: function () { clearInterval(loop); document.title = title; } }; } (); |
是不是清新了很多呢?^_^
代码如下 | 复制代码 |
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>放假啦!!!</title> </head> <body> <button id="test">stop</button> <script type="text/javascript"> var newMessageRemind = function () { var i = 0, title = document.title, loop; return { newMessageRemind.show(); document.getElementById('test').onclick = function () { |
时间: 2024-11-18 20:36:53