关于js的

来源:百度知道 编辑:UC知道 时间:2024/05/28 10:36:27
function setTab(m,n){
var tli=document.getElementById("menu"+m).getElementsByTagName("li");
var mli=document.getElementById("main"+m).getElementsByTagName("ul");
for(i=0;i<tli.length;i++){
tli[i].className=i==n?"hover":"";
mli[i].style.display=i==n?"block":"none";
}

希望大虾帮我解释一下这段代码

是一个使用js动态创建选定菜单样式的函数,根据名称来判断是使一个菜单的某项在鼠标移上去的时候呈现不同的效果。
tli是获取menum(m是变量)下li元素的集合
mli是获取mainm(m是变量)下ul元素的集合
后面:
tli[i].className = (i==n ? "hover" : "");
的意思是tli[i].className等于"hover"(i等于n时)或者""(i不等于n时);
mli[i].style.display = (i==n ? "block" : "none");
这样整理一下应该能明白了吧

function setTab(m,n){
var tli=document.getElementById("menu"+m).getElementsByTagName("li"); //取得所有第m个menu中的li标记
var mli=document.getElementById("main"+m).getElementsByTagName("ul"); //取得所有第m个main中的ul标记
for(i=0;i<tli.length;i++){
tli[i].className=i==n?"hover":""; //改变li标记的css样式
mli[i].style.display=i==n?"block":"none"; //如果i==n则显示li标记,否则不显示li标记
}

document.getElementById("menu"+m).getElementsByTagName("li");
//取id="menu"+m的菜单中所有<li>
第2句同理取<ul>
然后循环