0

嘿,所以我有一个问题,我无法弄清楚。我似乎做不到,所以只显示一个子菜单。例如:在About.php上,它有一个基于以下代码的常量子菜单。因此,当我单击 Info 以弹出另一个子菜单时,我希望它关闭常量子菜单并打开新的。不只是在它下面给我写另一个子菜单。我真的不在乎它是什么形式,javascript 或 php。只是想让我做的很简单,如果你需要我的 js 文件:JS FILE

代码:

        <div id="div_2" style="display:none">
        <div id="sub-menu">
        <ul class="menu">
                <li><a href="videos.php">VIDEOS</a></li>
                <li><a href="photos.php">PHOTOS</a></li>
                <li><a href="uploader.php">UPLOAD</a></li>
                <li><a href="http://www.isgclan.com/files.php">FILES</a></li>
        </ul>
        </div>
        </div>

                <div id="div_3" style="display:none">
        <div id="sub-menu">
        <ul class="menu">
                <li><a href="about.php">ABOUT</a></li>
                <li><a href="contact.php">CONTACT</a></li>
        </ul>
        </div>
        </div>';
    if ($sub == 'gallery')
        echo '<div id="div_1" style="display:none"></div>   
        <div id="div_2">
        <div id="sub-menu">
        <ul class="menu">
                <li><a href="videos.php">VIDEOS</a></li>
                <li><a href="photos.php">PHOTOS</a></li>
                <li><a href="uploader.php">UPLOAD</a></li>
                <li><a href="http://www.isgclan.com/files.php">FILES</a></li>
        </ul>
        </div>
        </div>

                <div id="div_3" style="display:none">
        <div id="sub-menu">
        <ul class="menu">
            <li><a href="about.php">ABOUT</a></li>
                <li><a href="contact.php">CONTACT</a></li>
            </ul>
        </div>
        </div>';
        if ($sub == 'about')
        echo '
                <div id="div_1"></div>  

        <div id="div_2" style="display:none">
        <div id="sub-menu">
        <ul class="menu">
                <li><a href="videos.php">VIDEOS</a></li>
                <li><a href="photos.php">PHOTOS</a></li>
                <li><a href="uploader.php">UPLOAD</a></li>
                <li><a href="http://www.isgclan.com/files.php">FILES</a></li>
        </ul>
        </div>
        </div>

                <div id="div_3">
        <div id="sub-menu">
        <ul class="menu">
            <li><a href="about.php">ABOUT</a></li>
                <li><a href="contact.php">CONTACT</a></li>
        </ul>
        </div>
        </div>';
?>


<?php
    if ($bar == 'about')
        echo '
        <li><a href="about.php">ABOUT</a></li>
            <li><a href="contact.php">CONTACT</a></li>';
        if ($bar == 'gallery')
            echo '
            <li><a href="videos.php">VIDEOS</a></li>
            <li><a href="photos.php">PHOTOS</a></li>
            <li><a href="uploader.php">UPLOAD</a></li>
            <li><a href="http://www.isgclan.com/files.php">FILES</a></li>';
?>
4

2 回答 2

0

你必须像这样改变这条线

<a id="a_title_3" onclick="SetCurrent(3);return false;"><span>INFO</span></a>

有两个名为“a_title_2”的 id 对象。

<a id="a_title_2" onclick="SetCurrent(2);return false;" href="#" class=""><span>GALLERY</span></a>

<a id="a_title_2" onclick="SetCurrent(3);return false;" class="current"><span>INFO</span></a>

当您将其更改为“3”时,它会正常工作。

于 2011-03-22T07:22:25.760 回答
0

id="sub-menu"在 HTML 中重复。

ID应该对 ONE 元素是唯一的。

CLASS可以在多个元素上重复/重用。

查看您的 JS 文件...您正在尝试使用至少 2 或 3 个元素同时使用getElementById(elemId)- 我没有尝试运行您的代码,但我敢打赌它会引发错误。

在您的 HTML 中 - 为您的其中一个子菜单 ( ) 设置一个唯一 ID id="sub_menu_1"。然后在您的 JS 中使用相同的 ID getElementById('sub_menu_1'),看看您的情况是否有所改善。

于 2011-03-22T07:17:52.000 回答