⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsxml.js

📁 Discuz的后台菜单。我把它单独扣出来
💻 JS
字号:
var xmlContent="<div id='PARENT'><ul id='nav'><li><ul>";
//********************************************************************************
function createXMLDom(){
  var xmldoc;
  if (window.ActiveXObject) 
     xmldoc=new ActiveXObject("Microsoft.XMLDOM");
  else 
   if (document.implementation&&document.implementation.createDocument)
     xmldoc=document.implementation.createDocument("","doc",null);
  xmldoc.async = false;
  //为了和FireFox一至,这里不能改为False;
  xmldoc.preserveWhiteSpace=true;
  return xmldoc;
 }
 
function createXMLHttp(){
  var xmlHttp;
  if (window.ActiveXObject){
   xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }else{
   xmlHttp=new XMLHttpRequest();
  }
  return xmlHttp;
 }
 //**********************************************************************************************4-

function nbsp(pNum){
  var tmpString=""
  for(var i=0;i<pNum;i++){
   tmpString+=" "//这里是全角的空格
  }
  return tmpString;
 } 
function getDOMAtt(pNode,pAttribute){
  try{
   return pNode.attributes.getNamedItem(pAttribute).nodeValue;
  }catch(e){
   //alert("指定节点不存在,或指定属性:"+pAttribute+" 不存在!")
   return false;
  }
 } 
//**************************************************************************************************
function attList(pNode){
  if(pNode.nodeType == 4) return '';
  var oAtt,tmpString="[ ";
  try{
   for(var i=0;oAtt=pNode.attributes[i];i++){
    tmpString+=oAtt.nodeName+" = '" + oAtt.nodeValue+"' ";//tmpString+=oAtt.nodeName+" = '" + oAtt.nodeValue+"' ";
   }
   tmpString+=" ]"
   return tmpString;
  }catch(e){ return ''}
 }
 
function getNodeName(pNode){
  if(pNode.nodeType == 4) return '';
  return pNode.nodeName;
 }
 
function getNodeValue(pNode){
  try{
   return pNode.firstChild.nodeValue;
  }catch(e){return ''}
 }
  function switchTree(pNode,pLevel){
  var tNode,i;
  for(i=0;tNode=pNode.childNodes[i];i++){
   if(tNode.nodeType==3) continue;//因为preserveWhiteSpace等于true
   ///xmlContent+=nbsp(pLevel)+"<font color='blue'><b>"+getNodeName(tNode)+"</b></font><font color='red'>"+attList(tNode)+"</font>"+getNodeValue(tNode)+"<br />";
   if(getNodeName(tNode)=="Item")
   {
	   xmlContent+="</ul></li>\r\n";
       xmlContent+="<li><a href='#Menu=ChildMenu"+i+"' onclick='DoMenu(\"ChildMenu"+i+"\")'>"+attList(tNode).split('\'')[1]+"</a>\r\n";
       xmlContent+="<ul id='ChildMenu"+i+"' class='collapsed'>\r\n";
   }
   else
   {
       //xmlContent+="<li><a href='"+getNodeValue(tNode)+"' target='_blank'>"+getNodeName(tNode)+"</a></li>";	   
	   xmlContent+="<li><a href='javascript:void(0);' onclick=\"javascript:document.getElementById('maintext').src='"+getNodeValue(tNode)+"';\">"+getNodeName(tNode)+"</a></li>\r\n";	   
   }
   switchTree(tNode,pLevel+1);
  }
 }
 //-------------------------------------------------------------------------------
function nodeFirstCyc(path)
{
var xmlFile=path;
 //加载XML文件。
 var xmlDom=createXMLDom();
 try{
  xmlDom.load(xmlFile);
 }catch(e){
  var xmlHttp=createXMLHttp();
    if(xmlHttp.readyState == 4){
     xmlDom=xmlHttp.responseXML;
    }else{
     //window.state="XML文件加载中...";
    }
   xmlHttp.open("GET",xmlFile,false);
   xmlHttp.send(null);
 }
 var DOMRoot=xmlDom.documentElement;
 //取出指定节点的属性。
 switchTree(DOMRoot,2);
 return xmlContent+"</ul></li></div>";
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -