关于window.onload的一点认识
2015-12-05 15:45
246 查看
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>DIV CSS遮罩层</title>
<script language="javascript" type="text/javascript">
function showdiv() {
document.getElementById("bg").style.display = "block";
document.getElementById("show").style.display = "block";
}
function hidediv() {
document.getElementById("bg").style.display = 'none';
document.getElementById("show").style.display = 'none';
}
window.onload = function() {
var clk = document.getElementById('show_hd');
clk.onclick = function() {
alert("单击 ");
}
}
</script>
<style type="text/css">
#bg {
display: none;
position: absolute;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color: black;
z-index: 10;
-moz-opacity: 0.7;
opacity: 0.7;
}
#show {
display: none;
position: absolute;
top: 25%;
left: 20%;
width: 53%;
height: 49%;
border: 8px solid red;
background-color: #fff;
z-index: 1002;
overflow: auto;
}
#btnclose {
background: green;
opacity: 10px;
left: 450px;
top: 300px;
width: 70px;
height: 30px;
position: absolute;
border-radius: 5px;
}
#show .show_hd {
display: block;
left: 0px;
top: 0px;
position: absolute;
border: 1px solid black;
width: 100%;
height: 20px;
}
</style>
</head>
<body>
测试
<input id="btnshow" type="button" value="Show" onclick="showdiv();" />
<div id="div_hs" style="width: 100px;border: 1px solid red;">aaa</div>
<div id="bg"></div>
<div id="show">
<div class="show_hd" id="show_hd">
头部
</div>
<input id="btnclose" type="button" value="Close" onclick="hidediv();" />
</div>
</body>
</html>
上面的程序如果不加window.onload 会报错(FF fireBUG),因为引擎会从上到下加载,不加window.onload 会报clk为空,因为不加找不到clk ,原因是DOM树找不到show_hd;
这个加了 window.onload反而多余,因为onclick会直接去调用,不必等到全部加载完
<html>
<head>
<meta charset="utf-8" />
<title>DIV CSS遮罩层</title>
<script language="javascript" type="text/javascript">
function showdiv() {
document.getElementById("bg").style.display = "block";
document.getElementById("show").style.display = "block";
}
function hidediv() {
document.getElementById("bg").style.display = 'none';
document.getElementById("show").style.display = 'none';
}
window.onload = function() {
var clk = document.getElementById('show_hd');
clk.onclick = function() {
alert("单击 ");
}
}
</script>
<style type="text/css">
#bg {
display: none;
position: absolute;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color: black;
z-index: 10;
-moz-opacity: 0.7;
opacity: 0.7;
}
#show {
display: none;
position: absolute;
top: 25%;
left: 20%;
width: 53%;
height: 49%;
border: 8px solid red;
background-color: #fff;
z-index: 1002;
overflow: auto;
}
#btnclose {
background: green;
opacity: 10px;
left: 450px;
top: 300px;
width: 70px;
height: 30px;
position: absolute;
border-radius: 5px;
}
#show .show_hd {
display: block;
left: 0px;
top: 0px;
position: absolute;
border: 1px solid black;
width: 100%;
height: 20px;
}
</style>
</head>
<body>
测试
<input id="btnshow" type="button" value="Show" onclick="showdiv();" />
<div id="div_hs" style="width: 100px;border: 1px solid red;">aaa</div>
<div id="bg"></div>
<div id="show">
<div class="show_hd" id="show_hd">
头部
</div>
<input id="btnclose" type="button" value="Close" onclick="hidediv();" />
</div>
</body>
</html>
上面的程序如果不加window.onload 会报错(FF fireBUG),因为引擎会从上到下加载,不加window.onload 会报clk为空,因为不加找不到clk ,原因是DOM树找不到show_hd;
<!DOCTYPE html> <html> <head> <meta charset="gb2312" /> <title></title> <style> #div1{ width:200px; height:200px; background:#ccc; } </style> <script> window.onload=function change(a,b) { var odiv=document.getElementById('div1'); odiv.style[a]=b; } </script> </head> <body> <input type="button" value="变宽" onclick="change('width','300px')"/> <input type="button" value="变高" onclick="change('height','300px')"/> <input type="button" value="变黑" onclick="change('background','black')"/> <div id="div1"> </div> </body> </html>
这个加了 window.onload反而多余,因为onclick会直接去调用,不必等到全部加载完
相关文章推荐
- 未捕获的异常 'NSInternalInconsistencyException'
- 上传的字节流理解的小例子
- 6、UIStepper基于swift的步进控件的使用
- 加密和解密以及安全
- python--10行代码搞定词频统计
- C-044.结构体数组
- light oj--1008--(数学规律问题)
- iOS开发——RunTime(运行时)
- 基于winpcap和syn的dos攻击,亲测
- Java反射机制
- ===item填充导致layout显示和想要的不同
- android自定义ProgressBar 修改进度条样式 出现setProgress无效问题
- STM32 学习总结5 --- CAN通信
- C#转义字符总结
- (七十一)关系表达式
- 随机产生20个数(10以内的)放入arraylist中
- 深入理解伪元素
- 异常简述
- HashMap集合中装入ArrayList集合
- cocos2d-js环境搭建