为了账号安全,请及时绑定邮箱和手机立即绑定

请教高人,去掉window.onload=function之后为什么不行?

请教高人,去掉window.onload=function之后为什么不行?

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>实践题 - 选项卡</title>
    <style type="text/css">
     /* CSS样式制作 */
     *{padding:0;
       margin:0;
       font:12px normal "microsoft yahei";
     }
     ul{ width:300px;
          list-style:none;
          border-bottom:2px solid brown;
         
          height:30px;
        
         
      }
     li{ display:inline-block;
          border:1px solid grey;
          border-bottom:none;
          text-align:center;
          padding:0px 10px;
          width:50px;  
          height:28px;
          line-height:28px;
          margin:0 3px;
          background:#fff;
          cursor:pointer;
          
         
      }
      .on{
          border-top:2px solid brown;
          border-bottom:2px solid #fff;
      }
      
      
    
     
    div{
          padding-top:10px;
          width:300px;
          height:120px;
          line-height:24px;
          border:1px solid blue;
          border-top:none;
        
      }
   
    .hide{
          display:none;
          
    }
   
    </style>
    <script type="text/javascript">
     
    // JS实现选项卡切换
   var ali=document.getElementsByTagName("li");
    var adiv=document.getElementsByTagName("div");


  for(var i=0;i<3;i++){
       var x=i;
       ali[i].onclick=function(){
           for(var n=0;n<3;n++){
           ali[n].className=" ";
           adiv[n].className="hide";
           }
          this.className="on";
          adiv[x].className="";
   } 
  }
   
     
    
    </script>
 
</head>
<body>
<!-- HTML页面布局 -->

<ul>
    <li>房产</li>
    <li >家居</li>
    <li >二手房</li>
</ul>
<div >
    275万购昌平邻铁三居 总价20万买一居<br/>
    200万内购五环三居 140万安家东三环<br/>
    北京首现零首付楼盘 53万购东5环50平<br/>
    京楼盘直降5000 中信府 公园楼王现房
</div>

<div>
     40平出租屋大改造 美少女的混搭小窝<br/>
     经典清新简欧爱家 90平老房焕发新生<br/>
     新中式的酷色温情 66平撞色活泼家居<br/>
     瓷砖就像选好老婆 卫生间烟道的设计
</div>
<div>
    通州豪华3居260万 二环稀缺2居250w甩<br/>
    西3环通透2居290万 130万2居限量抢购<br/>
    黄城根小学学区仅260万 121平70万抛!<br/>
    独家别墅280万 苏州桥2居优惠价248万
</div>
</body>
</html>


正在回答

3 回答

你所说的情况可能是由于你的js加载的时候,可是你其中的变量由于html文本未完全加载,从而抛出error。但还是具体分析好

0 回复 有任何疑惑可以回复我~
#1

用户1115823 提问者

像以下代码,就不用window.onload。该怎么理解? <!DOCTYPE html> <html> <body> <input id="a" type="button" value="key" > <script> document.getElementById("a").onclick=function(){ this.value="key1";} </script> </body> </html>
2015-04-30 回复 有任何疑惑可以回复我~
#2

muge10 回复 用户1115823 提问者

因为他把 script 放在了 body 的最后边,就不用 window.onload 了
2015-05-14 回复 有任何疑惑可以回复我~
#3

慕粉18221508921 回复 用户1115823 提问者

muge 10说的是对的,如果不用window.onload的话,你就要先加载body,等body加载完了,再去调用script,所以script要放body后面,但是用了window.onload就不用管了,他的意思就是,等页面加载完成再去调用script
2016-11-11 回复 有任何疑惑可以回复我~

能否将你的代码放出

0 回复 有任何疑惑可以回复我~

window.onload即页面加载事件。

window.onload=function(){}即页面加载完调用这个匿名函数。

函数要调用才有效果。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请教高人,去掉window.onload=function之后为什么不行?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信