簡體   English   中英

javascript導航問題消失了

[英]Issue with javascript navigation disappearing

我正在為一位朋友(他在一家律師事務所工作)進行一些網站更改,他的網站左側有一個導航欄。 在懸停時,這些顯示子菜單。 不幸的是,他試圖取出其中一個子菜單項並丟失了子菜單導航的所有功能。 現在,它不顯示子菜單,而只顯示錯誤。

這是以前的代碼(它的工作原理):

<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>

繼承人正在運作的網站:

第一個站點(這是有效的,但是需要一些更新的頁面

繼承人網站不工作:

第二個網站(這不起作用,將鼠標懸停在律師資料按鈕上)

我剛剛粘貼了更改過的javascript,因為我認為問題出在那里,但如果需要,我可以發布更多內容。

謝謝大家的幫助!

你有2個不同版本的mm_menu.js 其中一個有語法錯誤。 注意StackOverflow的語法突出顯示在下面的2個片段中。

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控制台

這立即告訴我語法錯誤,以及錯誤所在的文件和近似行。 查看該文件,然后看到Chromes語法突出顯示樣式的整個文件,如注釋(綠色),使得它很明顯是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM