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 相关文章推荐
用jquery ajax获取网站Alexa排名的代码
Dec 12 Javascript
初识javascript 文档碎片
Jul 13 Javascript
Dom与浏览器兼容性说明
Oct 25 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
Dec 28 Javascript
Javascript 闭包引起的IE内存泄露分析
May 23 Javascript
dotopAlert 提示用户需安装播放器的代码
Sep 17 Javascript
给html超链接设置事件不使用href来完成跳
Apr 20 Javascript
js数组中如何随机取出一个值
Jun 13 Javascript
微信公众号支付H5调用支付解析
Nov 04 Javascript
手机端转换rem适应
Apr 01 Javascript
JS Generator 函数的含义与用法实例总结
Apr 08 Javascript
Ajax实现三级联动效果
Oct 05 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
中国收音机工业发展史
2021/03/02 无线电
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
php打开文件fopen函数的使用说明
2013/07/05 PHP
Laravel 5框架学习之表单验证
2015/04/08 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
2019/05/09 PHP
php生成HTML文件的类方法
2019/10/11 PHP
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
2013/01/04 Javascript
js简单实现HTML标签Select联动带跳转
2013/10/23 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
2014/12/28 Javascript
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
linux系统都有哪些运行级别
2012/04/15 面试题
高中军训感言800字
2014/03/05 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
2014年帮扶工作总结
2014/11/26 职场文书
学生评语集锦
2015/01/04 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL