哪不懂?
主要是根据不同的浏览器进行不同的操作
参考手册:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/dhtml_reference_entry.asp
主要是根据不同的浏览器进行不同的操作
参考手册:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/dhtml_reference_entry.asp
http://www.csdn.net/Develop/list_article.asp?author=net_lover&myclassid=81&myclassName=XML
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
<SCRIPT language=JavaScript1.2>
scores = new Array(20);\\定义一个数组
var numTotal=0
NS4 = (document.layers) ? 1 : 0;
IE4 = (document.all) ? 1 : 0;
ver4 = (NS4 || IE4) ? 1 : 0; \\判断浏览器类型if (ver4) { \\层叠是样式单此步用于根据不同的浏览器写入不同的CSS样式单
with (document) {
write("<STYLE TYPE='text/css'>");
if (NS4) { \\如果浏览器是netscape4
write(".parent {position:absolute; visibility:visible}");
write(".child {position:absolute; visibility:visible}");
write(".regular {position:absolute; visibility:visible}")
}
else { \\浏览器是IE4
write(".child {display:none}")
}
write("</STYLE>");
}
}function getIndex(el) { \\document.layers方法仅限于Netscape4:返回文档中所有层(<layer>标记)组成的数组 ind = null;
for (i=0; i<document.layers.length; i++) { \\whichEl纪录层数
whichEl = document.layers[i];
if (whichEl.id == el) {
ind = i;
break;
}
}
return ind;
}function arrange() { \\第二步被调用的方法
nextY = document.layers[firstInd].pageY +document.layers[firstInd].document.height;
for (i=firstInd+1; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.visibility != "hide") {
whichEl.pageY = nextY;
nextY += whichEl.document.height;
}
}
}function initIt(){ \\第一步执行的函数
if (!ver4) return;
if (NS4) { \\如果浏览器为NS
for (i=0; i<document.layers.length; i++) {
whichEl = document.layers[i]; \\用whichEl取得各层
if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide"; \\如果当前层无子层则当前层为最低等级的层,并且隐藏
}
arrange();\\调用arrange()方法
}
else { \\如果浏览器为IE4
divColl = document.all.tags("DIV");
for (i=0; i<divColl.length; i++) {
whichEl = divColl(i);
if (whichEl.className == "child") whichEl.style.display = "none"; \\大体功能与NS4差不多 :寻找最底层,隐藏子节点
}
}
}function expandIt(el) { \\用于展开作用,主要是设置子节点隐藏
if (!ver4) return;
if (IE4) { \\浏览器为ie4
whichEl1 = eval(el + "Child"); \\设置两个变量whichEl1,whichEl进行比较
for(i=1;i<=numTotal;i++){
whichEl = eval(scores[i] + "Child");
if(whichEl!=whichEl1) {
whichEl.style.display = "none";
}
}
whichEl1 = eval(el + "Child");
if (whichEl1.style.display == "none") {
whichEl1.style.display = "block";
}
else {
whichEl1.style.display = "none";
}
}
else {
whichEl = eval("document." + el + "Child");
for(i=1;i<=numTotal;i++){
whichEl = eval("document." + scores[i] + "Child");
if(whichEl!=whichEl1) {
whichEl.visibility = "hide";
}
}
if (whichEl.visibility == "hide") {
whichEl.visibility = "show";
}
else {
whichEl.visibility = "hide";
}
arrange();
}
}
onload = initIt;\\页面加载时调用initIt方法
</SCRIPT></head><body></body></html>
给分!