window.onload的使用方法
来源:互联网 发布:java getclass 编辑:程序博客网 时间:2024/05/22 15:07
window.onload是在页面加载完之后再加载的,程序是从上往下执行的,如果你不加window.onload.它会先执行<script></script>中的部分再执行body里面的
1,以一个简单延时提示框为例子:
代码如下:
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>延时提示框</title><style type="text/css">#div1{width: 50px;height: 50px;background-color: red;float: left;margin: 10px;}#div2{width: 200px;height: 200px;background-color: #CCCCCC;display: none;float: left;}</style><script type="text/javascript">window.onload=function(){var oDiv1=document.getElementById('div1');var oDiv2=document.getElementById('div2');var timer=null;oDiv1.onmouseover=oDiv2.onmouseover=function(){ //设置div1的作用是:第二次移动到div1时,关闭div2设置的延时 //设置div2的作用是:鼠标在div2时,关闭定时器 clearTimeout(timer); oDiv2.style.display='block';};oDiv1.onmouseout=oDiv2.onmouseout=function()//div2的mouseout是为了设置延时,鼠标从div2移动到div1过程中,div2不会隐藏{ timer=setTimeout(function(){ //设置一个延时 oDiv2.style.display='none'; },500);};}</script></head><body><div id="div1"></div><div id="div2"></div></body></html>这样是正确的 而你删除window.onload后会显示 Cannot set property 'onmouseover' of null
at 延时提示框.html:28
(anonymous) @ 延时提示框.html:28
而当你window.onload并且把<script></script>放到<body></body>下面,它又可以正常运行了
这就说明了window.onload的作用
2.使用window.onload时,例如一些点击事件,鼠标移入移出事件要在script中定义,而不能在body里的标签里面设置
这里以一个点击运动为例子
这是使用window.onload方法的
代码如下:
<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style type="text/css">#div1{width: 200px;height: 200px;background-color: red;position: absolute;}</style><script type="text/javascript">window.onload=function(){oBtn=document.getElementById('btn1');var timer=null;oBtn.onclick=function(){var oDiv=document.getElementById('div1');clearInterval(timer);//把之前开的定时器关闭,保证不管点击多少次,只有一个定时器在工作timer=setInterval(function(){var speed=1;if(oDiv.offsetLeft>=300){clearInterval(timer);}else{oDiv.style.left=oDiv.offsetLeft+speed+'px';}},30)}}</script></head><body><input type="button" id="btn1" value="开始运动" /><div id="div1"></div></body></html>这个时候,如果把点击事件写到body中
即:
<script type="text/javascript">window.onload=function(){oBtn=document.getElementById('btn1');var timer=null;function startMove(){var oDiv=document.getElementById('div1');clearInterval(timer);//把之前开的定时器关闭,保证不管点击多少次,只有一个定时器在工作timer=setInterval(function(){var speed=1;if(oDiv.offsetLeft>=300){clearInterval(timer);}else{oDiv.style.left=oDiv.offsetLeft+speed+'px';}},30)}}</script></head><body><input type="button" id="btn1" value="开始运动" onclick="startMove()"/><div id="div1"></div></body>
就会显示:Uncaught ReferenceError: startMove is not defined
at HTMLInputElement.onclick (js运动基础.html:37)
onclick @ js运动基础.html:37
因为它先执行的onclick事件,后执行window.onload中的startMove方法,这个时候把window.onload删掉就可以了
代码如下:
<script type="text/javascript">oBtn=document.getElementById('btn1');var timer=null;function startMove(){var oDiv=document.getElementById('div1');clearInterval(timer);//把之前开的定时器关闭,保证不管点击多少次,只有一个定时器在工作timer=setInterval(function(){var speed=1;if(oDiv.offsetLeft>=300){clearInterval(timer);}else{oDiv.style.left=oDiv.offsetLeft+speed+'px';}},30)}</script></head><body><input type="button" id="btn1" value="开始运动" onclick="startMove()"/><div id="div1"></div></body>
阅读全文
0 0
- window.onload的使用方法
- window.onload使用方法
- window.onload使用方法
- window.onload()的问题
- window.onload的意义
- window.onload()的理解
- window.onload的用法
- window.onload的使用
- window.onload的使用
- JavaScript的window.onload使用
- window.onload的加载时间
- JavaScript的window.onload特性
- JS:window.onload的使用
- ie下的window onload
- JS:window.onload的使用
- JS:window.onload的使用
- JS:window.onload的使用
- JS:window.onload的使用
- 【C#学习】数据类型
- UI框架
- 开发者不追人工智能就会被淘汰吗?
- [Usaco2006 Nov]badhair乱头发节
- 快递接口调用学习——快递查询接口(API)授权Key申请
- window.onload的使用方法
- Jaxb2 实现JavaBean与xml互转
- 详解Cassandra数据模型中的primary key
- python多线程编程第一篇
- GitChat·前端 | Vue 组件库实践和设计
- 21-SpringBoot——核心-Web配置
- 【C#学习】类型转换
- 8皇后 n皇后 递归
- 不老的传说