JS闭包实现给DIV添加事件

结构、动作、行为分离之JS闭包

最近在学习将HTML/CSS/JavaScript分离 拿出来和大家分享下;

HTML:  

 1 < ul  id ="pmenu"  class ="adminLeftNav" >     
 2      < li  > 菜单1 
 3          < div  id ="p10" >  
 4              < href ="#" > ·子菜单 </ a >  
 5              < href ="#" > ·子菜单 </ a >  
 6              < href ="#" > ·子菜单 </ a >  
 7          </ div >  
 8      </ li >  
 9      < li  > 菜单2 
10          < div  id ="p11" >  
11              < href ="#" > ·子菜单 </ a >  
12              < href ="#" > ·子菜单理 </ a >  
13              < href ="#" > ·子菜单录 </ a >  
14              < href ="#" > ·子菜单 </ a >  
15              < href ="#" > ·子菜单 </ a >  
16          </ div >  
17      </ li >  
18      < li  > 菜单3 
19          < div  id ="p12" >  
20              < href ="#" > ·子菜单 </ a >  
21              < href ="#" > ·子菜单 </ a >  
22              < href ="#" > ·子菜单 </ a >  
23              < href ="#" > ·子菜单 </ a >  
24              < href ="#" > ·子菜单 </ a >  
25          </ div >  
26      </ li >  
27      < li  > 菜单4 
28          < div  id ="p13" >  
29              < href ="#" > ·子菜单 </ a >  
30              < href ="#" > ·子菜单 </ a >  
31              < href ="#" > ·子菜单 </ a >  
32              < href ="#" > ·子菜单 </ a >  
33              < href ="#" > ·子菜单 </ a >  
34          </ div >    
35      </ li >  
36      < li  > 菜单5 
37          < div  id ="p14" >  
38              < href ="#" > ·子菜单 </ a >  
39              < href ="#" > ·子菜单表 </ a >  
40              < href ="#" > ·子菜单 </ a >  
41              < href ="#" > ·子菜单 </ a >  
42          </ div >  
43      </ li >  
44      < li  > 菜单6 
45          < div  id ="p15" >  
46              < href ="#" > ·子菜单 </ a >  
47          </ div >  
48      </ li >  
49 </ ul >
50

 

CSS:

 

 1 ExpandedBlockStart.gif ContractedBlock.gif ul.adminLeftNav {} {width:140px;border:1px solid #A8C8EE;border-bottom:0px;list-style:none;margin:0;padding:0;text-align:left;}  
 2 ExpandedBlockStart.gifContractedBlock.giful.adminLeftNav li {} { line-height:34px;font-size:12px;color:#0B6BB3;font-weight:bold;border-bottom:1px solid #A8C8EE; 
 3background:url(/eaf/images/cmail_7.gif) no-repeat 20px 12px;text-indent:40px;cursor:pointer;background-color:#FFFFFF;}
 
 4 ExpandedBlockStart.gifContractedBlock.giful.adminLeftNav li:hover {} {background-color:#C4E7DE;}  
 5 ExpandedBlockStart.gifContractedBlock.giful.adminLeftNav li.hover {} {background-color:#C4E7DE;}  
 6 ExpandedBlockStart.gifContractedBlock.giful.adminLeftNav li div {} {display:none;border-top:1px solid #A8C8EE;padding:5px 0;background:#fff;}  
 7 ExpandedBlockStart.gifContractedBlock.giful.adminLeftNav li div a {} {display:block;line-height:20px;text-indent:30px;font-weight:normal;color:#000;text-decoration:none;}  
 8 ExpandedBlockStart.gifContractedBlock.giful.adminLeftNav li div a:hover {} {text-decoration:underline;}
 9
10

 

JavaScript:

 

 1 var  obj1  =  document.getElementById( " pmenu " ).getElementsByTagName( " li " ); 
 2      for ( var  i = 0 ;i < obj1.length;i ++
 3 ExpandedBlockStart.gifContractedBlock.gif    
 4        //闭包实现给对象添加事件 
 5ExpandedSubBlockStart.gifContractedSubBlock.gif        (function()
 6            var temp = obj1[i]; 
 7ExpandedSubBlockStart.gifContractedSubBlock.gif            temp.onmouseover = function(){temp.className='hover';} 
 8            }
 
 9         )(); 
10ExpandedSubBlockStart.gifContractedSubBlock.gif        (function()
11            var temp = obj1[i]; 
12ExpandedSubBlockStart.gifContractedSubBlock.gif            temp.onmouseout = function(){temp.className='';} 
13            }
 
14         )(); 
15ExpandedSubBlockStart.gifContractedSubBlock.gif         (function(){            
16            var x = i; 
17ExpandedSubBlockStart.gifContractedSubBlock.gif            obj1[x].onclick = function(){showChildMenu('P1'+x,'#');} 
18            }
 
19         )(); 
20    }
 
21
22 ExpandedBlockStart.gifContractedBlock.gif     function  showChildMenu(id,url)
23        var obj = document.getElementById("pmenu").getElementsByTagName("div"); 
24        for(var i=0;i<obj.length;i++
25ExpandedSubBlockStart.gifContractedSubBlock.gif        
26            obj[i].style.display='none'
27        }
 
28        if(id!=''
29            document.getElementById(id).style.display='block'
30    }

31

 

转载于:https://www.cnblogs.com/jwb_bino/archive/2009/04/03/1428981.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值