关于选项卡的疑问,为什么当点击按钮时不会显示对应的DIV求解? javascript; HTMLjavascriptHTML局部变量闭包 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <!DOCTYPE html><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> (function(i){......};})(i)这段是什么意思?我刚学不清楚(...)(..)是什么意思! 哦,你能不能帮我解释一下那for循环内面 oBtn[i].onclick=function(){}这句从加载到点击按钮是如何执行的?我一直弄不明白不是在页面加载完后for就循环完了吗且此时的i值是4不会改变,那当我去点击按钮是他怎么知道我点击哪个的?也就是我点击的时候 oBtn[i].onclick=function()怎样执行相应的onclick事件的? 哦,你能不能帮我解释一下那for循环内面 oBtn[i].onclick=function(){}这句从加载到点击按钮是如何执行的?我一直弄不明白不是在页面加载完后for就循环完了吗且此时的i值是4不会改变,那当我去点击按钮是他怎么知道我点击哪个的?也就是我点击的时候 oBtn[i].onclick=function()怎样执行相应的onclick事件的? oBtn[i].onclick=function(){ 为按钮添加事件,执行的自然是function里的代码,显示哪个div由变量i控制,(function(){i})(i)这个函数体内i的值是不会变的(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) 我想知道加载完成后for循环结束那for里面的语句应该就执行完了,他会不会是在这循环的过程中相当于创建了oBtn[0].onclick=function(); oBtn[1].onclick=function() ;oBtn[2].onclick=function() ;oBtn[3].onclick=function()四个点击事件函数当点击相应按钮时会执行这四个当中对应的点击函数?还是说 oBtn[i].onclick=function()这句再循环是不会执行只有在点击是才会被执行? oBtn[i].onclick=function() 这个只是定义不会执行的要在点击的时候才执行http://www.w3school.com.cn/jsref/event_onclick.asp 如何获取所有偶数和奇数行的name属性 js如何解密? getElementsByTagName 取标签 影响其他页面!~~ Jquery的一个问题 请教js的for in的用法 高手解答下:一个郁闷了半天的问题 怎么用 可视高度判断 提示框显示在可视高度的上半部分显示还是在下半部分显示 javascript里的数字转换 父窗口向子窗口取值的问题,希望大家讨论 extjs中加载百度地图,不显示,请大神解答 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)