高手,晚上好。本小白从网上下载的一款代码,原来只有10个排列项,效果很好,鼠标一放在该列表项,就会显示放大,鼠标一离开,又会立即恢复原状;
如图:
点击第1项;
点击其它项,第1项,会立即恢复到原状;
我增加了第11项和第12项;效果也出来了,但是,如果点击第11个或者第12个后再点击别的列表项,不会像上面10个那样,该项会自动隐藏;
如图:
点击第11项;
点击其它项,第11项,不会立即恢复到原状,必须再一次点击该项本身,才能恢复到文字状态;
第12项也是如此;
第12项也是如此;
不知道这是什么原因,高手给看看。谢谢!
------解决方案--------------------
楼主没看到两个for循环都是10改成12就好了!
- HTML code
<script language="javascript" type="text/javascript"> <!-- // 浏览器兼容的获取节点方法 function $(objectId){ if(document.getElementById && document.getElementById(objectId)){ // W3C DOM return document.getElementById(objectId); } else if (document.all && document.all(objectId)){ // MSIE 4 DOM return document.all(objectId); } else if (document.layers && document.layers[objectId]){ // NN 4 DOM.. note: this won't find nested layers return document.layers[objectId]; } else{ return false; } } /* Script Form www.wangyou.com */ var now_show_id =0 ; function swap(id,bool) { //alert(bool); if(id == now_show_id )return true; now_show_id =id ; for(var i=1;i<=12;i++) { if(bool) { if($('b'+i) != null){ $("b"+i).style.display = bool ? 'none' : 'block'; $("s"+i).style.display = bool ? 'block' : 'none'; } } } $("b"+id).style.display = bool ? 'block' : 'none'; $("s"+id).style.display = bool ? 'none' : 'block'; } var now_id = 1; function swap1(id,bool) { //alert(bool); if(id == now_id )return true; now_id =id ; for(var i=1;i<=12;i++) { if(bool) { if($('d'+i) != null){ $("d"+i).style.display = bool ? 'none' : 'block'; $("a"+i).style.display = bool ? 'block' : 'none'; } } } $("d"+id).style.display = bool ? 'block' : 'none'; $("a"+id).style.display = bool ? 'none' : 'block'; } /* End Script */ //--> </script>