javascript+dom樹型菜單類,希望朋友們一起進(jìn)步
更新時間:2007年05月03日 00:00:00 作者:
樹菜單js網(wǎng)上多得是,自己寫了一個樹菜單類,自認(rèn)為還不錯,公開大家共享和探討,和大家一起進(jìn)步最快樂??!
/* KuoMart.com__MyKuoMart , Create By ybcola(at)163.com , 2006-7-2
Last Modified 2006-7-2 , ybcola@163.com */
<!--
function Dtree(){
this.MenuGroupClose="images/treeview_close.gif"; //菜單關(guān)閉圖標(biāo)
this.MenuGroupOpen="images/treeview_open.gif"; //菜單打開圖標(biāo)
this.MenuItemClass=""; //菜單項樣式
this.MenuItemInfoClass=""; //菜單鏈接樣式
this.MenuItemlPad="12px";//下級菜單縮進(jìn)仁值
this.DefaultGroupState=false; //菜單組裝入時默認(rèn)狀態(tài)
document.write("<div id=\"treeroot\"></div>");
this.Node=document.getElementById("treeroot");
//0結(jié)點(diǎn)DOM對像,數(shù)組1為連接顯示,2為連接href,3為連接target,4為連接顯示前圖標(biāo)
this.AddItem=function(menuinfo){
var div=creatediv();
var div1=creatediv();
var ico=[this.MenuGroupClose,this.MenuGroupOpen];
div.className=this.MenuItemClass;
div1.style.marginLeft=this.MenuItemlPad;
div1.style.display=this.DefaultGroupState?"":"none";
var Node=menuinfo[0]?menuinfo[0][1]:this.Node;
var iteminfo="";
if(menuinfo[4]) iteminfo="<img src=\""+menuinfo[4]+"\" align=\"absmiddle\">";
if(menuinfo[2]) iteminfo+=" <a href=\""+menuinfo[2]+"\" target=\""+menuinfo[3]+"\" class=\""+this.MenuItemInfoClass+"\">";
iteminfo+=menuinfo[1];
if(menuinfo[2])iteminfo+="</a>";
div.innerHTML=iteminfo;
Node.appendChild(div);
Node.appendChild(div1);
if(menuinfo[0]){
if(!menuinfo[0][0].havechild) {
var as=document.createElement("img");
as.src=ico[1];
as.align="absmiddle";
as.onclick=function(){
swapshow(Node,as,ico);
}
menuinfo[0][0].insertBefore(as,menuinfo[0][0].firstChild);
as.insertAdjacentText("afterEnd"," ");
menuinfo[0][0].havechild=true;
}
}
return [div,div1];
}
function creatediv(){
var div=document.createElement("div");
return div;
}
function swapshow(obj,ico,oo){
if(obj.style.display!=""){
obj.style.display="";
ico.src=oo[0];
}
else{
obj.style.display="none";
ico.src=oo[1];
}
}
}
-->
/* KuoMart.com__MyKuoMart , Create By ybcola(at)163.com , 2006-7-2
Last Modified 2006-7-2 , ybcola@163.com */
<!--
function Dtree(){
this.MenuGroupClose="images/treeview_close.gif"; //菜單關(guān)閉圖標(biāo)
this.MenuGroupOpen="images/treeview_open.gif"; //菜單打開圖標(biāo)
this.MenuItemClass=""; //菜單項樣式
this.MenuItemInfoClass=""; //菜單鏈接樣式
this.MenuItemlPad="12px";//下級菜單縮進(jìn)仁值
this.DefaultGroupState=false; //菜單組裝入時默認(rèn)狀態(tài)
document.write("<div id=\"treeroot\"></div>");
this.Node=document.getElementById("treeroot");
//0結(jié)點(diǎn)DOM對像,數(shù)組1為連接顯示,2為連接href,3為連接target,4為連接顯示前圖標(biāo)
this.AddItem=function(menuinfo){
var div=creatediv();
var div1=creatediv();
var ico=[this.MenuGroupClose,this.MenuGroupOpen];
div.className=this.MenuItemClass;
div1.style.marginLeft=this.MenuItemlPad;
div1.style.display=this.DefaultGroupState?"":"none";
var Node=menuinfo[0]?menuinfo[0][1]:this.Node;
var iteminfo="";
if(menuinfo[4]) iteminfo="<img src=\""+menuinfo[4]+"\" align=\"absmiddle\">";
if(menuinfo[2]) iteminfo+=" <a href=\""+menuinfo[2]+"\" target=\""+menuinfo[3]+"\" class=\""+this.MenuItemInfoClass+"\">";
iteminfo+=menuinfo[1];
if(menuinfo[2])iteminfo+="</a>";
div.innerHTML=iteminfo;
Node.appendChild(div);
Node.appendChild(div1);
if(menuinfo[0]){
if(!menuinfo[0][0].havechild) {
var as=document.createElement("img");
as.src=ico[1];
as.align="absmiddle";
as.onclick=function(){
swapshow(Node,as,ico);
}
menuinfo[0][0].insertBefore(as,menuinfo[0][0].firstChild);
as.insertAdjacentText("afterEnd"," ");
menuinfo[0][0].havechild=true;
}
}
return [div,div1];
}
function creatediv(){
var div=document.createElement("div");
return div;
}
function swapshow(obj,ico,oo){
if(obj.style.display!=""){
obj.style.display="";
ico.src=oo[0];
}
else{
obj.style.display="none";
ico.src=oo[1];
}
}
}
-->
相關(guān)文章
javascript實現(xiàn)驗證身份證號的有效性并提示
下面分享的JS腳本是我用過的最完善的身份證號的驗證程序了,因為只有真正的身份證號才能被通過,小伙伴們可以試試。直接復(fù)制運(yùn)行。2015-04-04
用js判斷頁面刷新或關(guān)閉的方法(onbeforeunload與onunload事件)
Onunload,onbeforeunload都是在刷新或關(guān)閉時調(diào)用,可以在<script>腳本中通過window.onunload來指定或者在<body>里指定2012-06-06
JavaScript性能優(yōu)化技術(shù)深入研究
這篇文章主要介紹了JavaScript性能優(yōu)化技術(shù),優(yōu)化涉及多個方面,包括代碼執(zhí)行效率、內(nèi)存使用、DOM操作、網(wǎng)絡(luò)請求等,通過合理的優(yōu)化策略,可以顯著提升應(yīng)用的響應(yīng)速度和用戶體驗,掌握這些技術(shù)對于構(gòu)建高性能的JavaScript應(yīng)用至關(guān)重要,需要的朋友可以參考下2025-02-02
JS實現(xiàn)json對象數(shù)組按對象屬性排序操作示例
這篇文章主要介紹了JS實現(xiàn)json對象數(shù)組按對象屬性排序操作,涉及javascript使用sort方法針對json數(shù)組的遍歷與排序相關(guān)操作實現(xiàn)技巧,需要的朋友可以參考下2018-05-05

