首页 新闻 会员 周边

找人解释一下这段js代码,关于事件监听的问题?谢谢!

0
悬赏园豆:10 [待解决问题]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>标题</title>
<link href="css/index.css" rel="stylesheet" type="text/css" />
<meta name="Description" content="全球最早、技术领先的3G移动互联网、iPhone开发人才实训基地 Linux培训 嵌入式培训 3G培训 Windows Mobile 培训 Symbian培训 Android培训 iPhone培训" />
<script language="javascript" type="text/javascript">
function showol(){
 var pol=document.getElementById("sholl");
 var pli=pol.getElementsByTagName("li");
  for(var i=0;i<pli.length;i++)
   addEventHandler(pli[i],"mouseover",function(){changecol(this);});
}
function addEventHandler(oTarget, sEventType, fnHandler) {
 if (oTarget.addEventListener) {
 oTarget.addEventListener(sEventType, fnHandler, false);
 }
 else {
 oTarget["on" + sEventType] = fnHandler;
 }
 }

function changecol(iol){
 var pol=document.getElementById("sholl");
 var pli=pol.getElementsByTagName("li");
  for(var i=0;i<pli.length;i++)
   {pli[i].className="";
   }
   iol.className="sp";
}

 


function showull(){
 var pul=document.getElementById("showul");
 var plli=pul.getElementsByTagName("li");
  for(var i=0;i<plli.length;i++)
   addEventHandler(plli[i],"mouseover",function(){changecoll(this);});
}

function changecoll(ioll){
 var pul=document.getElementById("showul");
 var plli=pul.getElementsByTagName("li");
  for(var i=0;i<plli.length;i++)
   {plli[i].className="";
   }
   ioll.className="yc1";
}


</script>
<style type="text/css">
*{margin:0px;padding:0px;}
.clear{clear:both;height:0px;overflow:hidden;}
.wrap{height:221px;width:279px;margin-top:40px;margin-left:20px;overflow:hidden;}
.h2_bg{height:29px;background:url(images/wrap.jpg) 0px 0px repeat-x;}
.h2_bg span{height:29px;display:block;background:url(images/wrap_l.jpg) 0px 0px no-repeat;}
.h2_bg em{height:29px;display:block;background:url(images/wrap_r.jpg) right 0px no-repeat;}
.h2_bg strong{float:left;display:inline;font-size:14px;font-style:normal;line-height:29px;color:#7A7A7A;margin-left:16px;}
.container{border-left:1px #E2E2E2 solid;border-right:1px #E2E2E2 solid;}
.wrap ul{width:268px;padding:4px 4px 0px 5px;overflow:hidden;}
.wrap ul li{height:20px;float:left;display:block;width:269px;overflow:hidden;cursor:pointer;}
.wrap ul li em{font-size:12px;font-style:normal;float:left;line-height:20px;margin-left:8px;}
.wrap ul li img{display:none;}
.wrap ul li.yc1{font-weight:bold;height:33px;padding:6px 0px 5px 0px;background:url(images/fresh_bgr.gif) 0px 0px no-repeat;}
.wrap ul li.yc1 em{line-height:18px;}
.wrap ul li.yc1 img{float:left;display:inline;margin-left:9px;}
.footer{height:4px;background:url(images/jiao.jpg) 0px 0px repeat-x;}
.footer span{height:4px;display:block;background:url(images/jiao_l.jpg) 0px 0px no-repeat;}
.footer em{height:4px;display:block;background:url(images/jiao_r.jpg) right 0px no-repeat;}
</style>
</head>
<body  onload="showull();showol();">
<div class="wrap">
 <h2 class="h2_bg"><span><em><strong>3G技术专区</strong><div class="clear">&nbsp;</div></em></span></h2>
 <div class="container">
  <ul id="showul">
   <li class="yc1"><img src="images/3g.jpg" alt=""/><em>祝贺王小楠成功入职新浪无线<br/>从事iphone手机软件开发工作</em></li>
   <li><img src="images/3g.jpg" alt=""/><em>常见浏览器兼容性问题与解决技巧</em></li>
   <li><img src="images/3g.jpg" alt=""/><em>css选择器及优先级</em></li>
   <li><img src="images/3g.jpg" alt=""/><em>什么是3G手机</em></li>
   <li><img src="images/3g.jpg" alt=""/><em>为什么使用3G手机</em></li>
   <li><img src="images/3g.jpg" alt=""/><em>TD终端成熟 增3G产业信心</em></li>
   <li><img src="images/3g.jpg" alt=""/><em>苹果Safari4浏览器发布3天下载量破<br/>1100万次开发工作</em></li>
   <li><img src="images/3g.jpg" alt=""/><em>手机上网全球统计iphone全球第一</em></li>
  </ul>
  <div class="clear">&nbsp;</div> 
 </div>
 <div class="footer"><span><em>&nbsp;</em></span></div>
</div>
</body>
</html>

麻烦给上面的js代码给些注释?是怎样切换css样式的啊?

qianduan的主页 qianduan | 初学一级 | 园豆:180
提问于:2010-10-10 07:14
< >
分享
所有回答(1)
0

<link href="css/index.css" rel="stylesheet" type="text/css" />这引用css文件对吧

var pol=document.getElementById("sholl");
 var pli=pol.getElementsByTagName("li");  这个是组件对吧

 addEventHandler(pli[i],"mouseover",function(){changecol(this);}); 这就应该是事件的监听

<body  onload="showull();showol();"> 这个就是当onload的时候触发的函数。

我是刚学者,说错了请不要见怪~~

mr.zhao | 园豆:215 (菜鸟二级) | 2010-10-10 21:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册