js实现网页标题栏闪烁提示效果实例分析


Posted in Javascript onNovember 20, 2014

本文实例讲述了js实现网页标题栏闪烁提示效果的方法。分享给大家供大家参考。具体分析如下:

网页标题栏闪烁效果我们在一些聊天工具会常看到,像现在流量的聊天室,下面我们就来给大家总结一款实现网页标题栏闪烁提示代码,感兴趣可参考一下。

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

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 {
 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;
 }
 };
} ();
newMessageRemind.show();
document.getElementById('test').onclick = function () {
 newMessageRemind.stop();
};
</script>
</body>
</html>

继续分享一个

<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>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
CSS JavaScript 实现菜单功能 改进版
Dec 09 Javascript
理解JavaScript的caller,callee,call,apply
Apr 28 Javascript
Javascript学习笔记 delete运算符
Sep 13 Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
Jul 22 Javascript
form表单action提交的js部分与html部分
Jan 07 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
May 11 Javascript
jQuery中insertAfter()方法用法实例
Jan 08 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
Sep 22 Javascript
vue登录注册及token验证实现代码
Dec 14 Javascript
高性能js数组去重(12种方法,史上最全)
Dec 21 Javascript
JavaScript实现滑动门效果
Jan 18 Javascript
微信公众号网页分享功能开发的示例代码
May 27 Javascript
javascript获取flash版本号的方法
Nov 20 #Javascript
Jquery对象和Dom对象的区别分析
Nov 20 #Javascript
深入理解javascript变量声明
Nov 20 #Javascript
javascript限制用户只能输汉字中文的方法
Nov 20 #Javascript
jQuery 中$(this).index与$.each的使用指南
Nov 20 #Javascript
jQuery提示效果代码分享
Nov 20 #Javascript
IE6浏览器中window.location.href无效的解决方法
Nov 20 #Javascript
You might like
php foreach、while性能比较
2009/10/15 PHP
php 操作调试的方法
2012/07/12 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
php 无限分类 树形数据格式化代码
2016/10/11 PHP
用js实现的页面关键字密度查询代码
2007/12/27 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
JS实现黑色大气的二级导航菜单效果
2015/09/18 Javascript
Javascript随机标签云代码实例
2016/06/21 Javascript
nodejs之get/post请求的几种方式小结
2017/07/26 NodeJs
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
pyqt和pyside开发图形化界面
2014/01/22 Python
Python中类的继承代码实例
2014/10/28 Python
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
python求最大公约数和最小公倍数的简单方法
2020/02/13 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
2020/06/29 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
大学生毕业自我评价范文分享
2013/11/11 职场文书
企业员工集体活动方案
2014/08/17 职场文书
教师自查自纠材料
2014/10/14 职场文书
2014超市收银员工作总结
2014/11/13 职场文书
离婚协议书格式
2015/01/26 职场文书
求职推荐信范文
2015/03/27 职场文书
国情备忘录观后感
2015/06/04 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js
vue响应式原理与双向数据的深入解析
2021/06/04 Vue.js