2012-10-17 105 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點擊)

    相關問題