0

JavaScriptが別のファイルで機能していないのに、インラインで機能しているという問題があります。

これは、私のjavascriptが並んでいる作業コードです。これはasp.net4.0にあります。

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="FrontEnd.master.cs"   Inherits="pigninja.FrontEnd" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script type="text/javascript">
    function ShowItem(itemID) {
        document.getElementById(itemID).style.visiblity = "visible";
    }

    function HideItem(itemID) {
        document.getElementById(itemID).style.visiblity = "hidden";
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Pigninja Paradox</title>
    <link href="../Styles/Styles.css" rel="Stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
    <div id="pageWrapper">
        <div id="header">
        </div>
        <div id="navigation">
            <div id="menu">
                <ul>
                    <li><a href="../Default.aspx">Home</a></li>
                    <li><a href="../About.aspx">About Me</a>
                        <div id="submenu">
                            <ul>
                                <li onmouseout="HideItem('submenu');" onmouseover="ShowItem('submenu');"><a href="1983.aspx">
                                    1983</a></li>
                                <li><a href="1988.aspx">1988</a></li>
                                <li><a href="1990s.aspx">1990's</a></li>
                                <li><a href="2000.aspx">2000</a></li>
                                <li><a href="present.aspx">Present</a></li>
                            </ul>
                        </div>
                    </li>
                    <li><a href="../Programming.aspx">Programming</a></li>
                    <li><a href="../Rants.aspx">Rants</a></li>
                </ul>
            </div>
        </div>
        <div id="content">
            <asp:ContentPlaceHolder ID="Content" runat="server">
            </asp:ContentPlaceHolder>
        </div>
        <div id="footer">
            <p>
                I'd rather be an outlaw then to fall to Babylon law</p>
        </div>
    </div>
    </form>
</body>
</html>

問題は、これを次のように変更するとすぐに発生します

<script language="javascript" type="text/javascript" src="../scripts/navBarScript.js">  </script>

私のコードは機能しなくなり、私は一生の間その理由を理解することができません。

4

2 に答える 2

0

これで修正された理由はわかりませんが、最終的にスクリプトを次のように変更しました

function ShowItem(itemID){
document.getElementById(itemID).style.display = "block";
}

function HideItem(itemID){
document.getElementById(itemID).style.display = "none";
}

これらの変更の後、私のコードは期待どおりに実行されました。方法や理由はわかりません。しかし、これで私の問題は解決しました。

于 2012-11-12T04:39:25.067 に答える
0

スクリプトの src パスが正しいことを絶対に確認してください。いつでもそのように設定できます

src="/scripts/navBarScript.js"

/ から始めてベースから参照する、動かない訳がない

また、head 内または body 終了タグの直前に外部スクリプト タグを配置します。

于 2012-11-11T15:42:09.913 に答える