简体   繁体   English

JavaScript无法在页面上加载

[英]javascript not loading on page

I have created a very simple page at this point and am adding a menu that using javascript to display a submenu. 此时,我已经创建了一个非常简单的页面,并添加了一个使用javascript显示子菜单的菜单。 I can't get the javascript to load and I am not getting any errors using Firebug. 我无法加载JavaScript,并且使用Firebug没有出现任何错误。 I have stripped my page down to pretty much bare content except for the javascript, but it still won't load. 除了javascript外,我已经将页面剥离为几乎所有裸露的内容,但是仍然无法加载。 The CSS associated with the menu does load. 与菜单关联的CSS会加载。 I didn't write the javascript, but have a basic concept of how it works. 我没有写JavaScript,但是有一个基本的概念。

Here is the page: 这是页面:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>The Journal</title>
    <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
    <link href="http://celt.miamioh.edu/ject/images/favicon.png" rel="shortcut icon">

    <script src="http://celt.miamioh.edu/newject/menuscript.js" language="javascript" type="text/javascript"></script>
    <link rel="stylesheet" type="text/css" href="menustyle.css" media="screen, print" />
</head>
<body>


<table border="0" cellpadding="0" cellspacing="0"><tr><td>
<a href="Link 1" onmouseover="setOverImg('1','');overSub=true;showSubMenu('submenu1','button1');" onmouseout="setOutImg('1','');overSub=false;setTimeout('hideSubMenu(\'submenu1\')',delay);" target="http://celt.miamioh.edu/newject/about.php"><img src="buttons/button1up.png" border="0" id="button1" vspace="1" hspace="1"></a><a href="Link 2" onmouseover="setOverImg('2','');overSub=true;showSubMenu('submenu2','button2');" onmouseout="setOutImg('2','');overSub=false;setTimeout('hideSubMenu(\'submenu2\')',delay);" target="http://celt.miamioh.edu/newject/archive.php"><img src="buttons/button2up.png" border="0" id="button2" vspace="1" hspace="1"></a><a href="Link 3" onmouseover="setOverImg('3','');overSub=true;showSubMenu('submenu3','button3');" onmouseout="setOutImg('3','');overSub=false;setTimeout('hideSubMenu(\'submenu3\')',delay);" target="http://celt.miamioh.edu/journals/subscription/subscriptionpage.php"><img src="buttons/button3up.png" border="0" id="button3" vspace="1" hspace="1"></a><br>
</td></tr></table>

<p>Test page for javascript functionality.</p>

</body>
</html>

and here is he js: 这是他的js:

subInfo[2] = new Array();
subInfo[3] = new Array();


//*** SET SUB MENUS TEXT LINKS AND TARGETS HERE ***//
subInfo[1][1] = new Array("Overview","http://celt.miamioh.edu/newject/about.php","");
subInfo[1][2] = new Array("Free Sample Issue","http://celt.miamioh.edu/newject/issue.php?v=19&n=1","");
subInfo[1][3] = new Array("Editorial Board/Staff","http://celt.miamioh.edu/newject/staff.php","");
subInfo[1][4] = new Array("Manuscript Submission","http://celt.miamioh.edu/newject/submission.php","");

subInfo[2][1] = new Array("Current Issue","http://celt.miamioh.edu/newject/issue.php?v=25&n=2","");
subInfo[2][2] = new Array("Issue Archive","http://celt.miamioh.edu/newject/archive.php","");
subInfo[2][3] = new Array("Special Issue Archive","http://celt.miamioh.edu/newject/special.php","");
subInfo[2][4] = new Array("Search Archive","http://celt.miamioh.edu/newject/search.php","");

subInfo[3][1] = new Array("Journal Subscription","http://celt.miamioh.edu/journals/subscription/subscriptionpage.php","");
subInfo[3][2] = new Array("Order Back Issue","http://celt.miamioh.edu/newject/order_backissues.php","");
subInfo[3][3] = new Array("Order Individual Articles","http://celt.miamioh.edu/newject/order_articles.php","");


//*** SET SUB MENU POSITION ( RELATIVE TO BUTTON ) ***//
var xSubOffset = 9;
var ySubOffset = 34;



//*** NO MORE SETTINGS BEYOND THIS POINT ***//
var overSub = false;
var delay = 1000;
totalButtons = upSources.length;

// GENERATE SUB MENUS
for ( x=0; x<totalButtons; x++) {
    // SET EMPTY DIV FOR BUTTONS WITHOUT SUBMENU
    if ( subInfo[x+1].length < 1 ) { 
        document.write('<div id="submenu' + (x+1) + '">');
    // SET DIV FOR BUTTONS WITH SUBMENU
    } else {
        document.write('<div id="submenu' + (x+1) + '" class="dropmenu" ');
        document.write('onMouseOver="overSub=true;');
        document.write('setOverImg(\'' + (x+1) + '\',\'\');"');
        document.write('onMouseOut="overSub=false;');
        document.write('setTimeout(\'hideSubMenu(\\\'submenu' + (x+1) + '\\\')\',delay);');
        document.write('setOutImg(\'' + (x+1) + '\',\'\');">');


        document.write('<ul>');
        for ( k=0; k<subInfo[x+1].length-1; k++ ) {
            document.write('<li>');
            document.write('<a href="' + subInfo[x+1][k+1][1] + '" ');
            document.write('target="' + subInfo[x+1][k+1][2] + '">');
            document.write( subInfo[x+1][k+1][0] + '</a>');
            document.write('</li>');
        }
        document.write('</ul>');
    }
    document.write('</div>');
}





//*** MAIN BUTTONS FUNCTIONS ***//
// PRELOAD MAIN MENU BUTTON IMAGES
function preload() {
    for ( x=0; x<totalButtons; x++ ) {
        buttonUp = new Image();
        buttonUp.src = buttonFolder + upSources[x];
        buttonOver = new Image();
        buttonOver.src = buttonFolder + overSources[x];
    }
}

// SET MOUSEOVER BUTTON
function setOverImg(But, ID) {
    document.getElementById('button' + But + ID).src = buttonFolder + overSources[But-1];
}

// SET MOUSEOUT BUTTON
function setOutImg(But, ID) {
    document.getElementById('button' + But + ID).src = buttonFolder + upSources[But-1];
}



//*** SUB MENU FUNCTIONS ***//
// GET ELEMENT ID MULTI BROWSER
function getElement(id) {
    return document.getElementById ? document.getElementById(id) : document.all ? document.all(id) : null; 
}

// GET X COORDINATE
function getRealLeft(id) { 
    var el = getElement(id);
    if (el) { 
        xPos = el.offsetLeft;
        tempEl = el.offsetParent;
        while (tempEl != null) {
            xPos += tempEl.offsetLeft;
            tempEl = tempEl.offsetParent;
        } 
        return xPos;
    } 
} 

// GET Y COORDINATE
function getRealTop(id) {
    var el = getElement(id);
    if (el) { 
        yPos = el.offsetTop;
        tempEl = el.offsetParent;
        while (tempEl != null) {
            yPos += tempEl.offsetTop;
            tempEl = tempEl.offsetParent;
        }
        return yPos;
    }
}

// MOVE OBJECT TO COORDINATE
function moveObjectTo(objectID,x,y) {
    var el = getElement(objectID);
    el.style.left = x;
    el.style.top = y;
}

// MOVE SUBMENU TO CORRESPONDING BUTTON
function showSubMenu(subID, buttonID) {
    hideAllSubMenus();
    butX = getRealLeft(buttonID);
    butY = getRealTop(buttonID);
    moveObjectTo(subID,butX+xSubOffset, butY+ySubOffset);
}

// HIDE ALL SUB MENUS
function hideAllSubMenus() {
    for ( x=0; x<totalButtons; x++) {
        moveObjectTo("submenu" + (x+1) + "",-500, -500 );
    }
}

// HIDE ONE SUB MENU
function hideSubMenu(subID) {
    if ( overSub == false ) {
        moveObjectTo(subID,-500, -500);
    }
}



//preload();

Any help on what is wrong or even how I can further troubleshoot it myself to find out what is wrong would be appreciated. 对于出问题的任何帮助,甚至我自己可以进一步对其进行故障排除以找出出问题的原因,我们将不胜感激。

I created a copy of your file at JSBin here and can verify that the javascript does indeed run. 在这里的JSBin创建了文件的副本,可以验证javascript确实在运行。

I also noticed you have code commented out at the bottom //preload(); 我还注意到您在底部//preload();处注释掉了代码//preload(); and perhaps this is what you are expecting to execute? 也许这就是您期望执行的?

If you still are not getting the expected results try adding a debugger; 如果仍然无法获得预期的结果,请尝试添加debugger; statement and running in Firebug and the code should break on the line you added that code. 语句并在Firebug中运行,并且代码应在您添加该代码的行上中断。

您的src链接不正确,要匹配js文件中的网址,应为

http://celt.miamioh.edu/newject/menuscript.js

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM