如何使用多个命令创建一个导航

时间:2012-10-17 13:33:18

标签: php javascript css

我正在尝试构建一个导航,用于确定用户所在的页面,并为该链接提供一个不同的命令,以便在当前页面上单击它时显示div标记。示例:您单击主页以转到主页。如果您在主页上并再次单击home,则会导致div标签淡入。我有div标签,但我不知道如何将多个命令应用于标签。我希望导航只是一个全站点包括我必须进一步更新网站。现在我每页都有个人导航。

3 个答案:

答案 0 :(得分:2)

在PHP中,您可以使用$_SERVER['REQUEST_URI']中的值及相关条目了解所请求的页面。

然后,您可以根据所请求的页面来决定您所在的页面。

这允许您从许多不同的文件中包含菜单模板,无论这些文件位于页面结构中的哪个位置。

一个简短的例子,这里有你建议的PHP_SELF条目和非目录结构:

<?php

    $currentPage = basename($_SERVER["PHP_SELF"]);

    /** define the menu **/
    $menu = array(
        array('index.php', 'home');
    );

    /** process the menu **/    
    foreach ($menu as &$entry) {
        list($page, $name) = $entry;
        $isCurrent = $currentPage === $page;
        if ($isCurrent) {                
            $href  = '#';
            $extra = ' onclick="MM_effectAppearFade(display, 2500, 0, 100, true)"';
        } else {
            $href  = $page;
            $extra = '';
        }
        $entry = array_merge($entry, array($href, $extra));
    }
    unset($entry);

    /** output the menu **/
?>
<ul>
    <?php foreach($menu as $entry) { ?>
        <li>
            <?php
                list($page, $name, $href, $extra) = $entry;
                printf(
                    '<a href="%s"%s>%s</a></li>', 
                    $href, $extra, htmlspecialchars($name)
                );
             ?>
        </li>
    <?php } ?>
</ul>

答案 1 :(得分:0)

  

将多个命令应用于标记

我假设您在元素中使用onlick属性。不要那样做。从单独的脚本分配任何事件处理程序。您可以根据需要将尽可能多的事件绑定到元素(以及根据需要对事件进行尽可能多的回调)。

jQuery示例:

jQuery( '#menu a' ).on( 'click', function( event ) {
    if( event.target.attr( 'href' ) == window.location ) {
        event.preventDefault();
        jQuery( '#specialDivPopup' ).show();
    }
} );

答案 2 :(得分:0)

简单地在onclick @同一页面上放一个jquery hide div函数(尝试逻辑)

@ Home Page - &gt; (点击代码隐藏家庭DIV)

@ MYPAGE Page - &gt; (点击代码隐藏MYPAGE DIV)