解决方案 »
- 高手进来,一个页面3个框架,怎么让另外两个一起跟着变
- js创建表格
- 用什么工具对script进行格式化?
- |zyciis| Javascript 如何加密解密? 我进 http://www.scriptlover.com/packer/ 但里面什么都不能输入 谢谢
- 如何用js做个像csdn.net首页上的tab控件!
- 怎么在循环中给控件依次加上事件...急求
- ie8,外链js执行顺序疑问
- 怎样在一个框架页面中用javascript向另一个框架中写入文字
- 一个js替换脚本,能放在浏览器书签里,点一下就执行的
- 萌新求教(
- JS前台如何调用.NET C#后台有键值的Dictionary
- jquery什么时候会用到.filter()?
<meta charset="UTF-8" /><html>
<head><style type="text/css">
#div1 div{width:200px;height:200px;background:#ccc;border:1px solid black;
display:none;}
#div1 .active{background:yellow;}
</style>
<script>
window.onload=function ()
{
var oDiv=document.getElementById('div1');
var oBtn=oDiv.getElementsByTagName('input');
var oDivv=oDiv.getElementsByTagName('div');
for(var i=0;i<oBtn.length;i++){ (function(i){
oBtn[i].onclick=function(){
for(var j=0;j<oBtn.length;j++){
oBtn[j].className=' ';
oDivv[j].style.display='none';
}
this.className='active';
oDivv[i].style.display='block';
};})(i)
}
}
</script>
</head>
<body>
<div id="div1">
<input class="active" type="button" value="体育" />
<input type="button" value="教育" />
<input type="button" value="娱乐" />
<input type="button" value="科技" />
<div style="display:block;">111111</div>
<div>2222</div>
<div>3333</div>
<div>4444</div>
</div>
</body>
</html>
哦,你能不能帮我解释一下那for循环内面 oBtn[i].onclick=function(){}这句从加载到点击按钮是如何执行的?我一直弄不明白不是在页面加载完后for就循环完了吗且此时的i值是4不会改变,那当我去点击按钮是他怎么知道我点击哪个的?也就是我点击的时候 oBtn[i].onclick=function()怎样执行相应的onclick事件的?
(function(i){
oBtn[i].onclick=function(){
alert(i); //调试下看i的值
for(var j=0;j<oBtn.length;j++){
oBtn[j].className=' ';
oDivv[j].style.display='none';
}
this.className='active';
oDivv[i].style.display='block';
};})(i)