制作子菜单以显示

时间:2011-03-22 06:12:46

标签: php javascript submenu

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

CODE:                  

        <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>';
?>

2 个答案:

答案 0 :(得分:0)

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

ID 应该是唯一到一个元素。

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

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

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

答案 1 :(得分: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”时,它可以正常工作。