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 相关文章推荐
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
Sep 15 Javascript
统计出现最多的字符次数的js代码
Dec 03 Javascript
js图片延迟技术一般的思路与示例
Mar 20 Javascript
JS实现文件动态顺序载入的方法
Mar 07 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
Sep 05 Javascript
JavaScript操作HTML元素和样式的方法详解
Oct 21 Javascript
vuex 项目结构目录及一些简单配置介绍
Apr 08 Javascript
javascript、php关键字搜索函数的使用方法
May 29 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
Jun 06 jQuery
js图数据结构处理 迪杰斯特拉算法代码实例
Sep 11 Javascript
Vue.js下拉菜单组件使用方法详解
Oct 19 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
Nov 18 jQuery
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 中的closure用法详解
2017/06/12 PHP
JS动画效果代码3
2008/04/03 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
javascript 动态创建表格
2015/01/08 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
2017/03/08 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
JavaScript实现鼠标经过表格某行时此行变色
2020/11/20 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
Python 逐行分割大txt文件的方法
2017/10/10 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
2018/07/11 Python
python 使用值来排序一个字典的方法
2018/11/16 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
仓库主管的岗位职责
2013/12/04 职场文书
驾驶员培训方案
2014/05/01 职场文书
书法兴趣小组活动总结
2014/07/07 职场文书
2014年党建工作汇报材料
2014/11/02 职场文书
签字仪式主持词
2015/07/03 职场文书
领导欢送会主持词
2015/07/06 职场文书
golang日志包logger的用法详解
2021/05/05 Golang