首页 > 编程 > JavaScript > 正文

js实现的标题栏新消息闪烁提示效果

2019-11-20 14:46:13
字体:
来源:转载
供稿:网友

公司的项目中用到了这个新消息提示的效果,主要用于提示用户有新消息。具体实现代码如下:

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的方式解决的,当查看新消息后所有标题闪动的页面将全部取消提示。

下面武林网小编再推荐一段代码

<script>(function() {  var OriginTitile = document.title, titleTime;  document.addEventListener('visibilitychange', function() {    if (document.hidden) {      document.title = '死鬼去哪里了!';      clearTimeout(titleTime);    } else {      document.title = '(つェ⊂)咦!又好了!';      titleTime = setTimeout(function() {        document.title = OriginTitile;      },2000);    }  });})();</script>

注意:上面的代码需用预加载jquery库才可以。直接放页面底部或js里面即可

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表