2013-05-18 63 views
0

我有四個PHP頁面,homepage.inc.php,about.inc.php,contact.inc.php和我的繼承人的index.php我有我的動態頁面,如何在當前頁面上添加活動類?

<div id="menu"> 
    <nav> 
     <a id="home" target="_self" href="index.php">Home</a> 
     <a id="about" target="_self" href="index.php?p=about">About us</a> 
     <a id="contact" target="_self" href="index.php?p=contact">Contact</a> 
    </nav> 
</div> 

<div id="content"> 
    <?php 
    $pages_dir = 'pages'; 
    if (!empty($_GET['p'])) { 
     $pages = scandir($pages_dir, 0); 
     unset($pages[0], $pages[1]); 
     $p=$_GET['p']; 


     if(in_array($p.'.inc.php', $pages)){ 
      include($pages_dir.'/'.$p.'.inc.php'); 


     }else { 
     echo 'Sorry, page not found.'; 
     } 
    }else{ 
     include($pages_dir.'/home.inc.php'); 
     } 
    ?> 

</div> 

這是我的CSS活躍{背景:灰色;} 我想在我的菜單上添加一個活動類。怎麼樣?

回答

1

你可以做這樣的事情:

<a id="contact" target="_self" href="index.php?p=contact" <?php if ($_GET['p'] == "contact") { 
    echo 'class="active"'; 
    } ?> >Contact</a> 

或者用短手PHP(使代碼看起來更整潔)

<a id="contact" target="_self" href="index.php?p=contact"<? (($_GET['p']=="contact") ? 'class="active"' : '') ?>>Contact</a> 

或者你可以使用一些JavaScript使用jQuery:

<script> 
$('#<?php echo $_GET['p'] ?>').addClass('active'); 
</script> 
0

更改您的代碼,如下所示 「>首頁 」>關於我們 「>聯繫

<?php 
$homeCls = ''; 
$aboutCls = ''; 
$contactCls= ''; 
    $pages_dir = 'pages'; 
    if (!empty($_GET['p'])) { 
     $pages = scandir($pages_dir, 0); 
     unset($pages[0], $pages[1]); 
     $p=$_GET['p']; 

     if($p == '') { 
    $homeCls = 'active'; 
     } else if($p == 'about'){ 
     $aboutCls = 'active'; 
     } else if($p == 'contact'){ 
     $contactCls= 'active'; 
     } 
     if(in_array($p.'.inc.php', $pages)){ 
      include($pages_dir.'/'.$p.'.inc.php'); 


     }else { 
     echo 'Sorry, page not found.'; 
     } 
    }else{ 
     include($pages_dir.'/home.inc.php'); 
     } 
    ?> 
相關問題