<script language=javascript> function secBoard(n) { var menu=document.getElementById("menu"); var main=document.getElementById("main"); for(i=0;i<menu.childNodes.length;i++) menu.childNodes[i].className="sec1"; menu.childNodes[n].className="sec2"; for(i=0;i<main.childNodes.length;i++) main.childNodes[i].style.display="none"; main.childNodes[n].style.display="block"; } </script> <div id="header"> <ul id="menu"> <li onMouseOver="secBoard(0)" class="sec2">一号</li> <li onMouseOver="secBoard(1)" class="sec1">二号</li> <li onMouseOver="secBoard(2)" class="sec1">三号</li> <li onMouseOver="secBoard(3)" class="sec1">四号</li> </ul> <ul id="main"> <li class="block">一号内容</li> <li class="unblock">二号内容</li> <li class="unblock">三号内容</li> <li class="unblock">四号内容</li> </ul> </div>
_________________________________________________________________ 因为firefox中childNodes会获取textNode所以你这些编号就不对了 最好用getElementsByTagName('li')来获取元素就没问题了
function secBoard(n)
{
var menu=document.getElementById("menu");
var main=document.getElementById("main");
var menuli=menu.getElementsByTagName("li");
for(i=0;i<menuli.length;i++)
menuli[i].className="sec1";
menuli[n].className="sec2";
var mainli=main.getElementsByTagName("li");
for(i=0;i<mainli.length;i++)
mainli[i].style.display="none";
mainli[n].style.display="block";
} |