2012-10-17 47 views
0

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

+0

简单地把一个jQuery隐藏DIV功能上的onclick @在同一页(试逻辑) @主页 - >(将代码隐藏起始页) – Dino

回答

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> 
+0

好的我对此完全陌生,所以这是我的导航代码。也许你可以告诉我我做错了什么。 – user1753325

+0

$ currentFile = $ _SERVER [“PHP_SELF”]; $ parts = Explode('/',$ currentFile); echo $ parts [count($ parts) - 1]; – user1753325

+0

如果($ currentFile == “的index.php”) \t \t { \t

  • home
  • \t \t} \t \t其他 \t \t {
  • home
  • \t} – user1753325

    0

    应用多个命令的标签

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

    jQuery的例子:

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

    简单地把一个jQuery隐藏DIV功能上的onclick @在同一页(试逻辑)

    @首页 - >(将代码隐藏HOME DIV ON CLICK)

    @ MYPAGE页面 - >(将代码隐藏MYPAGE DIV点击)

    相关问题