我定义了一个admin.js文件
function DvMenuCls(){
var MenuHides = new Array();
this.Show = function(obj,depth){
var childNode = this.GetChildNode(obj);
if (!childNode){return ;}
if (typeof(MenuHides[depth])=="object"){
this.closediv(MenuHides[depth]);
MenuHides[depth] = '';
};
if (depth>0){
if (childNode.parentNode.offsetWidth>0){
childNode.style.left= childNode.parentNode.offsetWidth+'px';

}else{
childNode.style.left='100px';
};

childNode.style.top = '-2px';
};
//childNode.style.display ='block';   //跟下一句相反 如果用下一行的代码则鼠标放上去显示下拉菜单
childNode.style.display ='none';
MenuHides[depth]=childNode;

};
this.closediv = function(obj){
if (typeof(obj)=="object"){
if (obj.style.display!='none'){
obj.style.display='none';
}
}
}
this.Hide = function(depth){
var i=0;
if (depth>0){
i = depth
};
while(MenuHides[i]!=null && MenuHides[i]!=''){
this.closediv(MenuHides[i]);
MenuHides[i]='';
i++;
};

};
this.Clear = function(){
for(var i=0;i<MenuHides.length;i++){
if (MenuHides[i]!=null && MenuHides[i]!=''){
MenuHides[i].style.display='none';
MenuHides[i]='';
}
}
}
this.GetChildNode = function(submenu){
for(var i=0;i<submenu.childNodes.length;i++)
{
if(submenu.childNodes[i].nodeName.toLowerCase()=="div")
{
var obj=submenu.childNodes[i];
break;
}
}
return obj;
}}
function getleftbar(obj){
var leftobj;
var titleobj=obj.getElementsByTagName("a");
leftobj = document.all ? frames["frmleft"] : document.getElementById("frmleft").contentWindow;
if (!leftobj){return;}
var menubar = leftobj.document.getElementById("menubar")
if (menubar){
if (titleobj[0]){
document.getElementById("leftmenu_title").innerHTML = titleobj[0].innerHTML;
}
var a=obj.getElementsByTagName("ul");
for(var i=0;i<a.length;i++){
menubar.innerHTML = a[i].innerHTML;
//alert(a[i].innerHTML);
}
}
}
// 修改编辑栏高度
function admin_Size(num,objname)
{
var obj=document.getElementById(objname)
if (parseInt(obj.rows)+num>=3) {
obj.rows = parseInt(obj.rows) + num;
}
if (num>0)
{
obj.width="90%";
}
}function helpscript(n){
txtRun=n;window.open('../helpview.html','admin_help','toolbar=no,menubar=no,scrollbars=no, resizable=1, location=no, status=no,top=0,left=0,width=600,height=300')}function runscript(n){
txtRun=n;window.open("../templates_view.asp","templates_view")
}
function rundvscript(n,astr){
txtRun=n;window.open("http://bbs.dvbbs.net/loadtemplates.asp?"+astr+"","loadtemplates")
}var ColorImg;
var ColorValue;
function hideColourPallete() {
document.getElementById("colourPalette").style.visibility="hidden";
}
function Getcolor(img_val,input_val){
var obj = document.getElementById("colourPalette");
ColorImg = img_val;
ColorValue = document.getElementById(input_val);
if (obj){
obj.style.left = getOffsetLeft(ColorImg) + "px";
obj.style.top = (getOffsetTop(ColorImg) + ColorImg.offsetHeight) + "px";
if (obj.style.visibility=="hidden")
{
obj.style.visibility="visible";
}else {
obj.style.visibility="hidden";
}
}
}
//Colour pallete top offset
function getOffsetTop(elm) {
var mOffsetTop = elm.offsetTop;
var mOffsetParent = elm.offsetParent;
while(mOffsetParent){
mOffsetTop += mOffsetParent.offsetTop;
mOffsetParent = mOffsetParent.offsetParent;
}
return mOffsetTop;
}//Colour pallete left offset
function getOffsetLeft(elm) {
var mOffsetLeft = elm.offsetLeft;
var mOffsetParent = elm.offsetParent;
while(mOffsetParent) {
mOffsetLeft += mOffsetParent.offsetLeft;
mOffsetParent = mOffsetParent.offsetParent;
}
return mOffsetLeft;
}
function setColor(color)
{
if (ColorValue){ColorValue.value = color;}
if (ColorImg){ColorImg.style.backgroundColor = color;}
document.getElementById("colourPalette").style.visibility="hidden";
}//SELECT表单选取
function CheckSel(Voption,Value)
{
var obj = document.getElementById(Voption);
for (i=0;i<obj.length;i++){
if (obj.options[i].value==Value){
obj.options[i].selected=true;
break;
}
}
}//单选表单选取
function chkradio(Obj,Val)
{
if (Obj)
{
for (i=0;i<Obj.length;i++){
if (Obj[i].value==Val){
Obj[i].checked=true;
break;
}
}
}
}
function getGroup(Did)
{
var SGroup = fetch_object(Did);
if (SGroup){
if (SGroup.style.display=='none'){
SGroup.style.top = (document.body.scrollTop+((document.body.clientHeight-300)/2))+"px";
SGroup.style.left = (document.body.scrollLeft+((document.body.clientWidth-480)/2))+"px";
SGroup.style.display = '';
}
else{
var SelGroupid = fetch_object("SelGroupid");
var groupid = fetch_object("groupid");
var Val="";
SGroup.style.display='none';
if (SelGroupid){
for (var i=0;i<SelGroupid.length;i++){
if (SelGroupid.options[i].selected){
Val += SelGroupid.options[i].value;
Val += ",";
}
}
groupid.value = Val.substr(0,Val.lastIndexOf(","));
}
}
}
}//复选表单全选事件 form:表单名
function CheckAll(form)  {
for (var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
if (e.name != 'chkall'&&e.type=="checkbox")
{
e.checked = form.chkall.checked;
}
}
}
function BoardJumpListSelect_Admin(boardid,selectname,fristoption,fristvalue,checknopost){
if(typeof(cache["boardlist"])=="undefined"){
GetBoardXmlbak(boardxml,'../',boardid);
if (xslDoc.parseError){
if (xslDoc.parseError.errorCode!=0){
return;
}
}
cache["boardlist"] = xslDoc.documentElement.getElementsByTagName("board");
} var sel = 0;
var sObj = document.getElementById(selectname);
if (sObj)
{
sObj.options[0] =  new Option(fristoption, fristvalue); var nodes = cache["boardlist"];
if (nodes)
{
for (var i = 0,k = 1;i<nodes.length;i++) {
var t = nodes[i].getAttribute("boardtype");
var v = nodes[i].getAttribute("boardid");
if (v==boardid)
{
sel = k;
}
if (nodes[i].getAttribute("depth")==0){
var outtext="╋";
}
else
{
var outtext="";
for (var j=0;j<(nodes[i].getAttribute("depth"));j++)
{
if (j>0){   outtext+=" |";    }
outtext+="  ";
}
outtext+="├";
}
t = outtext + t;
t = t.replace(/<[^>]*>/g, "");
t = t.replace(/&[^&]*;/g, "");
if(checknopost==1 && nodes[i].getAttribute("nopost")=='1')
{
t+="(不许转移)";
}
sObj.options[k++] = new Option(t, v);
}
sObj.options[sel].selected = true;
}
}
}
然后在index.html中调用
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>管理内容</title><script src="skins/inc/admin.js" type="text/javascript"></script>
<script type="text/javascript">
var status = 1;
var Menus = new DvMenuCls();
document.onclick=Menus.Clear;
function switchSysBar(){
     if (1 == window.status){
  window.status = 0;
          switchPoint.innerHTML = '<img src="skins/images/left.gif">';
          document.all("frmTitle").style.display = "none";
     }
     else{
  window.status = 1;
          switchPoint.innerHTML = '<img src="skins/images/right.gif">';
          document.all("frmTitle").style.display = "";
     }
}
function moveLogOutDiv()
{
    document.getElementById("LogOutDiv").style.left = window.screen.availWidth -400+ "px";
    document.getElementById("LogOutDiv").style.top = "5px";
}var intervalIsHaveUnReadMsg = setInterval("getHaveUnReadMsg()",2000);;
var intervalShowUnreadMsgCount;
var app = {};
app.ShowLoop = 0;
function getHaveUnReadMsg() {    Ext.Ajax.request(
    {
        url: 'Service/Msg.ashx',
        params: { type: 'getunreadmsgcount' },
        success: function(response) {
            var nSuccessCount = 0;
            if (!isNaN(response.responseText)) {
                nSuccessCount = parseInt(response.responseText);
            }            if (nSuccessCount > 0) {
                app.UnReadMsgCount = nSuccessCount;
                if (intervalShowUnreadMsgCount) {
                    clearInterval(intervalShowUnreadMsgCount);
                }
                intervalShowUnreadMsgCount = setInterval("showHaveUnReadMsg()", 1000);                var objfrmleft = top.frmleft;
                if (objfrmleft) {
                    var spUnreadMsg = objfrmleft.document.getElementById("spUnreadMsg");
                    if (spUnreadMsg) {
                        spUnreadMsg.innerHTML = "(" + nSuccessCount + "条消息新)";
                    }
                }
                
                
            }
            else {
                app.UnReadMsgCount = 0;
                if (intervalShowUnreadMsgCount) {
                    clearInterval(intervalShowUnreadMsgCount);
                }
                document.title = " V4.0";
            }        },
        failure: function(response) {
            ;
        }
    });
}function showHaveUnReadMsg() {
    if (app.ShowLoop == 1) {
        document.title = "您有【" + app.UnReadMsgCount + "】条新消息";
        app.ShowLoop = 0;
    }
    else {
        document.title = "V4.0";
        app.ShowLoop = 1;
    }
}
</script>
</head><body>
<table cellpadding="3" cellspacing="1" border="0" width="100%" align=center>
<tr><td height=23 width="*"><B>一句话贴士</B><br />
① 对于不同功能模块的页面,要仔细看页面中的说明,以免误操作
<BR></td>
</tr>
</table</body>
</html>
但是老报错,提示“DvMenuCls 未定义”

解决方案 »

  1.   

    <script src="skins/inc/admin.js" type="text / javascript "></script>
    路径里不要加空格
      

  2.   

    看串行了,以为路径里有个空格.这个
    <script src="skins/inc/admin.js" type="text/javascript"></script>
    没问题(除非路径位置不对,检查一下).另外可能的原因就是加载赶不上下面执行的速度.所以应该把下面除了各个函数之外的内容放到另外一个函数,比如theforever_csdn()中.
    然后window.open=theforever_csdn;
    即等待文档全部加载完成再创建对象.
      

  3.   

    提示“DvMenuCls 未定义”,那你就找到这个位置,看看包括DvMenuCls 的代码运行了没有啊