2012-09-29 78 views
3

我正在爲朋友(他在一家合法公司工作)的某些網站更改工作,他的網站左側有一個導航欄。懸停時,這些顯示一個子菜單。不幸的是,他試圖取出其中一個子菜單項,並失去了子菜單導航的所有功能。現在,不是顯示子菜單,而是顯示一個錯誤。javascript導航問題消失

下面的代碼之前(如果它的工作):

<script language="JavaScript"> 
<!-- 
function mmLoadMenus() { 
    if (window.mm_menu_0327091831_0) return; 

    window.mm_menu_0327091831_0 = new Menu("root",225,30,"Optima, Verdana, Helvetica Neue, sans-serif",14,"#FFFFFF","#FFFFFF","#7E7D7D","#B3B3B3","left","middle",8,0,250,-5,7,true,false,true,0,true,true); 

    mm_menu_0327091831_0.addMenuItem("HARRY&nbsp;GRIFF,&nbsp;P.C.","location='harry-griff.html'"); 
    mm_menu_0327091831_0.addMenuItem("DOUGLAS&nbsp;E.&nbsp;LARSON,&nbsp;P.C.","location='doug-larson.html'"); 
    mm_menu_0327091831_0.addMenuItem("STEPHEN&nbsp;L.&nbsp;LAICHE,&nbsp;P.C.","location='stephen-laiche.html'"); 
    mm_menu_0327091831_0.addMenuItem("BRAD&nbsp;R.&nbsp;WRIGHT,&nbsp;P.L.L.C.","location='brad-wright.html'"); 
    mm_menu_0327091831_0.hideOnMouseOut=true; 
    mm_menu_0327091831_0.bgColor='#555555'; 
    mm_menu_0327091831_0.menuBorder=1; 
    mm_menu_0327091831_0.menuLiteBgColor='#FFFFFF'; 
    mm_menu_0327091831_0.menuBorderBgColor='#777777'; 

    mm_menu_0327091831_0.writeMenus(); 
} // mmLoadMenus() 
//-->​​​​​ 
</script> 

下面的代碼後:

<script language="JavaScript"> 
<!-- 
function mmLoadMenus() { 
    if (window.mm_menu_0327091831_0) return; 

    window.mm_menu_0327091831_0 = new Menu("root",225,30,"Optima, Verdana, Helvetica Neue, sans-serif",14,"#FFFFFF","#FFFFFF","#7E7D7D","#B3B3B3","left","middle",8,0,250,-5,7,true,false,true,0,true,true); 

    mm_menu_0327091831_0.addMenuItem("HARRY&nbsp;GRIFF,&nbsp;P.C.","location='harry-griff.html'"); 
    mm_menu_0327091831_0.addMenuItem("DOUGLAS&nbsp;E.&nbsp;LARSON,&nbsp;P.C.","location='doug-larson.html'"); 
    mm_menu_0327091831_0.addMenuItem("STEPHEN&nbsp;L.&nbsp;LAICHE,&nbsp;P.C.","location='stephen-laiche.html'"); 
    mm_menu_0327091831_0.addMenuItem("BRAD&nbsp;R.&nbsp;WRIGHT,&nbsp;P.L.L.C.","location='brad-wright.html'"); 
    mm_menu_0327091831_0.addMenuItem("BRAD&nbsp;R.&nbsp;WRIGHT,&nbsp;P.L.L.C.","location='rob-zentner.html'"); 
    mm_menu_0327091831_0.hideOnMouseOut=true; 
    mm_menu_0327091831_0.bgColor='#555555'; 
    mm_menu_0327091831_0.menuBorder=1; 
    mm_menu_0327091831_0.menuLiteBgColor='#FFFFFF'; 
    mm_menu_0327091831_0.menuBorderBgColor='#777777'; 

    mm_menu_0327091831_0.writeMenus(); 
} // mmLoadMenus()​​​​ 
//--> 
</script> 

繼承人的站點工作:

first site (this is working, but is the page that needed a few updates

繼承人該網站不工作:

second site (this is not working, hover over the attorney profiles button)

我剛剛粘貼已更改的JavaScript,因爲這是我認爲問題是,但如果需要,我可以發佈更多。

感謝您的幫助!

+0

只需在Google上花費幾分鐘後即可進行猜測,因此YMMV:'mmLoadMenus'函數及其代碼由Dreamweaver自動生成。我的預感是你的朋友手編輯發佈的腳本。可能還有一些其他自動生成的代碼在文件中的其他位置,仍然期待原始數量的菜單項。如果是這種情況(再次猜測這裏),可能最好的解決方法是回到Dreamweaver並從drap/drop gui界面編輯菜單項並讓它重新生成腳本。 – Bryan

+0

如果您發佈的是錯誤消息,並且該網站的公開鏈接可能也會對您有用。 – Bryan

+0

我沒有看到有人被帶出,我看到有一個是通過副本添加的(第二個「布拉德」)。就個人而言,我只是得到一個新的菜單方法。 –

回答

12

您有2個不同的版本mm_menu.js。其中之一有語法錯誤。注意下面2個片段中的StackOverflow的語法高亮顯示。

http://www.gllblaw.com/mm_menu.js(好版)

/** 
* mm_menu 20MAR2002 Version 6.0 
* Andy Finnell, March 2002 
* Copyright (c) 2000-2002 Macromedia, Inc. 
* 
* based on menu.js 
* by gary smith, July 1997 
* Copyright (c) 1997-1999 Netscape Communications Corp. 
* 
* Netscape grants you a royalty free license to use or modify this 
* software provided that this copyright notice appears on all copies. 
* This software is provided "AS IS," without a warranty of any kind. 
*/ 
function Menu(label, mw, mh, fnt, fs, fclr, fhclr, bg, bgh, halgn, valgn, pad, space, to, sx, sy, srel, opq, vert, idt, aw, ah) 
{ 
    // code here... 

http://users.acsol.net/~jhart/mm_menu.js(糟糕的版本)

/** 
* mm_menu 20MAR2002 Version 6.0 
* Andy Finnell, March 2002 
* Copyright (c) 2000-2002 Macromedia, Inc. 
* 
/
function Menu(label, mw, mh, fnt, fs, fclr, fhclr, bg, bgh, halgn, valgn, pad, space, to, sx, sy, srel, opq, vert, idt, aw, ah) 
{ 
    // code here... 

看到這個問題了嗎?在壞版本頂部的標題中,評論沒有正確關閉。多行Javascript評論始於/*並以*/結尾。然而,這個頭文件評論被破壞,它沒有結束註釋令牌。因此整個文件被註釋掉,並且Menu不存在。

正確地關閉該評論,我打賭事情會正常工作。


所以你知道如何做一個更好的開發者,下面是我如何解決這個問題。

我只是在Chrome中打開了開發者工具,然後看看JS控制檯。其中,在鮮豔的紅色,我看到:

JS console

並立即告訴我的語法錯誤的,哪些文件和近似線的誤差上。看着這個文件,然後看到Chromes語法高亮顯示ENTIRE文件的樣式,就像評論(綠色)一樣,使得它非常明顯。

+0

你真棒。非常感謝! – Muhambi