3

我正在为一位朋友(他在一家律师事务所工作)进行一些网站更改,他的网站左侧有一个导航栏。悬停时,这些显示一个子菜单。不幸的是,他试图取出其中一个子菜单项并失去了子菜单导航的所有功能。现在,它不显示子菜单,只显示一个错误。

这是之前的代码(在哪里工作):

<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,因为我认为这就是问题所在,但如果需要,我可以发布更多内容。

感谢大家的帮助!

4

1 回答 1

12

您有 2 个不同版本的mm_menu.js. 其中一个有语法错误。注意 StackOverflow 在下面 2 个片段上突出显示的语法。

http://www.glllblaw.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 控制台

它立即告诉我语法错误,以及错误所在的文件和近似行。查看文件,然后看到 Chrome 语法突出显示整个文件的样式,就像注释(绿色)一样,很明显发生了什么。

于 2012-10-01T22:37:24.173 回答