0

I am trying to build a navigation that determines the page the user in on and gives that link a different command to show a div tag if you click it on the current page. Example: you click on the home page to go to the home page. if you are on the home page and you click home again it causes a div tag to fade in. I have the div tag working but I don't know how to apply more than one command to an tag. I want the navigation to just be a sitewide include incase I have to make further updates to the site. Right now I have individual navigation on each page.

4

3 回答 3

2

$_SERVER['REQUEST_URI']在 PHP 中,您可以通过使用 in和相关条目的值来了解已请求的页面。

然后,您可以用它来决定您在哪个页面上,并根据请求的页面更改菜单的显示。

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

一个简短的示例,此处包含您建议的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>
于 2012-10-17T13:37:38.187 回答
0

对标签应用多个命令

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

jQuery 示例:

jQuery( '#menu a' ).on( 'click', function( event ) {
    if( event.target.attr( 'href' ) == window.location ) {
        event.preventDefault();
        jQuery( '#specialDivPopup' ).show();
    }
} );
于 2012-10-17T13:39:22.013 回答
0

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

@ Home Page -> (点击代码以隐藏主页 DIV)

@ MYPAGE Page -> (PUT CODE to HIDE MYPAGE DIV ON CLICK)

于 2012-10-17T13:40:37.943 回答