javascript的setTimeout()标题栏效果—闪烁文字
来源:互联网 发布:总决赛五项数据第一 编辑:程序博客网 时间:2024/05/18 20:07
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>标题栏效果—闪烁文字</title>
</head>
<body onload="startgo()">
<p> 标题栏里的文字一直不停地闪烁。</p>
<script language="javascript">
var message1="这就是闪烁的效果";
var message2= " ";
var speed=800;
var control=1;
function startgo(){
if(control==1){
document.title=message1;
control=0;
}else{
document.title=message2;
control=1;
}
setTimeout("startgo()",speed)
}
</script>
</body>
</html>
js 中 setTimeout()的用法
setTimeout()在js类中的使用方法
setTimeout (表达式,延时时间)
setTimeout(表达式,交互时间)
延时时间/交互时间是以豪秒为单位的(1000ms=1s)
setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
setTimeout 在执行时,它从载入后,每隔指定的时间就执行一次表达式
1,基本用法:
执行一段代码:
var i=0;
setTimeout("i+=1;alert(i)",1000);
执行一个函数:
var i=0;
setTimeout(function(){i+=1;alert(i);},1000);
//注意比较上面的两种方法的不同。
下面再来一个执行函数的:
var i=0;
function test(){
i+=1;
alert(i);
}
setTimeout("test()",1000);
也可以这样:
setTimeout(test,1000);
总结:
setTimeout的原型是这样的:
iTimerID = window.setTimeout(vCode, iMilliSeconds [, sLanguage])
setTimeout有两种形式
setTimeout(code,interval)
setTimeout(func,interval,args)
其中code是一个字符串
func是一个函数.
注意"函数"的意义,是一个表达式,而不是一个语句.
比如你想周期性执行一个函数
function a(){
//...
}
可写为
setTimeout("a()",1000)
或
setTimeout(a,1000)
这里注意第二种形式中,是a,不要写成a(),切记!!!
展开来说,不管你这里写的是什么,如果是一个变量,一定是一个指向某函数的变量;如果是个函数,那它的返回值就 要是个函数
2,用setTimeout实现setInterval的功能
思路很简单,就是在一个函数中调用不停执行自己,有点像递归
var i=0;
function xilou(){
i+=1;
if(i>10){alert(i);return;}
setTimeout("xilou()",1000);
//用这个也可以
//setTimeout(xilou,1000);
}
3,在类中使用setTimeout
终于到正题了,其实在类中使用大家遇到的问题都是关于this的,只要解决了这个this的问题就万事无忧了。
呵呵。让我们来分析一下:
function xilou(){
this.name="xilou";
this.sex="男";
this.num=0;
}
xilou.prototype.count=function(){
this.num+=1;
alert(this.num);
if(this.num>10){return;}
//下面用四种方法测试,一个一个轮流测试。
setTimeout("this.count()",1000);//A:当下面的x.count()调用时会发生错误:对象不支持此属性或方法。
setTimeout("count()",1000);//B:错误显示:缺少对象
setTimeout(count,1000);//C:错误显示:'count'未定义
//下面是第四种
var self=this;
setTimeout(function(){self.count();},1000);//D:正确
}
var x=new xilou();
x.count();
错误分析:
A:中的this其实指是window对象,并不是指当前实例对象
B:和C:中的count()和count其实指的是单独的一个名为count()的函数,但也可以是window.count(),因为window.count()可以省略为count()
D:将变量self指向当前实例对象,这样js解析引擎就不会混肴this指的是谁了。
话说回来,虽然我们知道setTimeout("this.count()",1000)中的this指的是window对象,但还是不明白为什么会是
window对象^_^(有点头晕...)
那我们可以想象一下这个setTimeout是怎样被定义的:
setTimeout是window的一个方法,全称是这样的:window.setTimeout()
那应该是这样被定义的:
window.setTimeout=function(vCode, iMilliSeconds [, sLanguage]){
//.....代码
return timer//返回一个标记符
}
所以当向setTimeout()传入this的时候,当然指的是它所属的当前对象window了。
0 0
- javascript的setTimeout()标题栏效果—闪烁文字
- 用CSS+JavaScript实现文字闪烁效果
- 标题栏的文字滚动效果
- Javascript实现浏览器标题栏文字滚动效果
- Android自定义TextView闪烁文字的效果
- C语言——文字闪烁效果
- 文字闪烁效果
- 文字闪烁效果
- 实现文字闪烁效果
- js文字闪烁效果
- 文字闪烁效果
- NGUI文字闪烁效果
- 闪烁的窗体标题栏
- javaScript简单的表格边框闪烁效果。
- 消除按钮上的文字闪烁的效果
- LinearGradient和Matrix实现动态的文字闪烁效果
- android中TextView的文字实现动态效果,走马灯效果,闪烁效果
- android中TextView的文字实现动态效果,走马灯效果,闪烁效果
- UIScrollView 滚动视图
- 10-30-2 加班费,要不要?
- Visual Studio (VS)和Visual Assist X(VA)快捷键
- HDU3038 - How Many Answers Are Wrong(带权并查集)
- UITabBarController 标签栏控制器
- javascript的setTimeout()标题栏效果—闪烁文字
- lua: 使用lua_next()遍历表
- 百度Intern面试题之二叉树的网络传输及恢复--二叉树的文件存储和读取
- Heritrix总结及消重算法初探
- hdoj problem 1024Max Sum Plus Plus(动态规划&&DP问题)
- 【瞎搞】 HDU 1986 Encoding
- hdu 1863(畅通工程)(简单的并查集,模板)
- mysql 字符集设置查看
- poj3087--Shuffle'm Up(小模拟)