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


Posted in Javascript onJune 06, 2014

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

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里面即可

Javascript 相关文章推荐
javascript面向对象之Javascript 继承
May 04 Javascript
快速查找数组中的某个元素并返回下标示例
Sep 03 Javascript
基于node实现websocket协议
Apr 25 Javascript
BootStrap扔进Django里的方法详解
May 13 Javascript
js实现悬浮窗效果(支持拖动)
Mar 09 Javascript
JS实现json对象数组按对象属性排序操作示例
May 18 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
Jun 19 Javascript
使用vue-router完成简单导航功能【推荐】
Jun 28 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
Oct 16 Javascript
vue缓存之keep-alive的理解和应用详解
Nov 02 Javascript
node.js通过Sequelize 连接MySQL的方法
Dec 28 Javascript
解决await在forEach中不起作用的问题
Feb 25 Javascript
IE中图片的onload事件无效问题和解决方法
Jun 06 #Javascript
jQuery插件分享之分页插件jqPagination
Jun 06 #Javascript
javascript中的return和闭包函数浅析
Jun 06 #Javascript
seaJs的模块定义和模块加载浅析
Jun 06 #Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
Jun 06 #Javascript
javascript中加号(+)操作符的一些神奇作用
Jun 06 #Javascript
使用GruntJS构建Web程序之合并压缩篇
Jun 06 #Javascript
You might like
php MySQL与分页效率
2008/06/04 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
PHP类的封装与继承详解
2015/09/29 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
PHP实现时间日期友好显示实现代码
2019/09/08 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
Javascript中的Split使用方法与技巧
2007/03/09 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
JavaScript函数内部属性和函数方法实例详解
2016/03/17 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
AngularJS实现网站换肤实例
2021/02/19 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
2020/10/02 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
python格式化字符串实例总结
2014/09/28 Python
深入理解python try异常处理机制
2016/06/01 Python
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
Forever 21美国官网:美国标志性快时尚品牌
2017/02/20 全球购物
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
英国健身超市:Fitness Superstore
2019/06/17 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
linux面试题参考答案(11)
2012/05/01 面试题
EJB发布WEB服务一般步骤
2012/10/31 面试题
优秀毕业生求职信范文
2014/01/02 职场文书
三年级学生评语
2014/04/23 职场文书
三提三创主题教育活动查摆整改措施
2014/10/25 职场文书
烈士陵园观后感
2015/06/08 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server
Redis三种集群模式详解
2021/10/05 Redis
Python&Matlab实现樱花的绘制
2022/04/07 Python
单机多实例部署 MySQL8.0.20
2022/05/15 MySQL