1

次のドロップダウン メニューには、などによって呼び出される Java スクリプト関数があります。onmouseover="openelement('menu2')" , onmouseover="openelement('menu3')"これが何なのか理解できません'menu2&#39 , 'menu3'。誰か説明してください。プログラム全体は次のとおりです。

ドロップダウン メニュー CSS & JS

    <!--The CSS code.-->
    <style type="text/css" media="screen">

            #nav {
                margin: 0;
                padding: 0;
            }

            #nav li {
                list-style: none;
                float: left;
            }

            #nav li a {
                display: block;
                margin: 0 1px 0 0;
                padding: 4px 10px;
                width: 80px;
                background: lavender;
                color: black;
                text-align: center;
                text-decoration:none;
            }

            #nav li a:hover {
                background: grey;
            }

            #nav ul {
                position: absolute;
                visibility: hidden;
                margin: 0;
                padding: 0;
                border: 1px solid #ffffff
            }

            #nav  ul li a{
                    position: relative;
                    margin: 0;
                    padding: 5px 10px;
                    width: 80px;
                    text-align: left;
                    background: lavender;
                    color: #000000;
                }   

            #nav li ul li {
                clear: both;
            }
    </style>
    <!--The end of the CSS code.-->

    <!--The Javascript menu code.-->
    <script type="text/javascript">
        //variables' declaration

        var timeout = 500;
        var timer   = 0;
        var item    = 0;

        //function for opening of submenu elements
        function openelement(num)
        {    
            keepsubmenu()
            //checks whether there is an open submenu and makes it invisible
            if(item){ item.style.visibility = 'hidden';}
                //shows the chosen submenu element
                item = document.getElementById(num);
                item.style.visibility = 'visible';
        }

        // function for closing of submenu elements
        function closeelement()
        {
            //closes the open submenu elements and loads the timer with 500ms
            timer = window.setTimeout("if(item) item.style.visibility = 'hidden';",500);
        }

        //function for keeping the submenu loaded after the end of the 500 ms timer
        function keepsubmenu()
        {
            if(timer){
                window.clearTimeout(timer);
                timer = null;
            }
        }

        //hides the visualized menu after clicking outside of its area and expiring of the loaded timer
        document.onclick = closeelement;

    </script>
    <!--END of CSS code-->

</head>
<body>
    <!--HTML code for the menu -->
    <ul id="nav">
        <li><a href="http://www.sci.sjp.ac.lk/lms/file.php/233/dropDownJs.html#">Home</a>
        </li>
        <li><a href="http://www.sci.sjp.ac.lk/lms/file.php/233/dropDownJs.html#" onmouseover="openelement(&#39;menu2&#39;)" onmouseout="closeelement()">Tutorials</a>
            <ul id="menu2" onmouseover="keepsubmenu()" onmouseout="closeelement()" style="visibility: hidden; ">
                <li><a href="http://www.sci.sjp.ac.lk/lms/file.php/233/dropDownJs.html#">CSS</a></li>
                <li><a href="http://www.sci.sjp.ac.lk/lms/file.php/233/dropDownJs.html#">Flash</a></li>
            </ul>
        </li>
        <li><a href="http://www.sci.sjp.ac.lk/lms/file.php/233/dropDownJs.html#" onmouseover="openelement(&#39;menu3&#39;)" onmouseout="closeelement()">More</a>
            <ul id="menu3" onmouseover="keepsubmenu()" onmouseout="closeelement()">
               <li><a href="http://www.sci.sjp.ac.lk/lms/file.php/233/dropDownJs.html#">About Us</a></li>
                <li><a href="http://www.sci.sjp.ac.lk/lms/file.php/233/dropDownJs.html#">Contact Us</a></li> 
            </ul>
        </li>
    </ul>
    <div style="clear:both"></div>
    <!--the end of the HTML code for the menu -->

4

2 に答える 2

3

39 はアポストロフィの ASCII コードであり&#39;、HTML に ASCII 文字を挿入するための構文です。

この構文は主に、HTML / JavaScript で意味を持つ文字をそのまま挿入するために (およびクロス サイト スクリプティング攻撃を防ぐために) 使用され<ます>

あなたの場合、 ' を置き換える必要があります。アポストロフィ (') を使用してイベント ハンドラー内で発生するため、Javascript で必要なように動作します。

于 2013-05-18T01:58:33.593 に答える
1

これは単なるアポストロフィです。おそらく、不適切なコピー/貼り付けによるものです。たとえば、Word でコードを記述したり、特別な書式設定を適用するテキストエリアからコピーしたりすると、この問題が発生する可能性があります。関数は文字列を想定しているため、一重引用符で囲む必要があります。

"openelement('menu3')"
于 2013-05-18T01:58:23.223 に答える