2014-09-25 53 views
0

我有3個鏈接指向同一頁面,但指向不同的部分。應用CSS類從多個鏈接點擊鏈接到相同的頁面,不同的部分

這就是頁面部分的樣子,它們都是相似的 - 只是從不同的表格中讀取。

<h1>Networking</h1> 
<?php 
    include 'inc/connect.php'; 
    $data = mysqli_query($link, "SELECT * FROM networking WHERE id = 1")or 
         die(mysqli_error($link));   
    while($info = mysqli_fetch_array($data)) { 
    echo nl2br($info['info']);} 
?> 
</article> 

這是菜單文件鏈接到'網絡'的部分。

if ($page == 'system') { 
$output .="<li><a href='system.php#networking' class='active'>Networking</a></li>";} 
else{ 
    $output .="<li><a href='system.php#networking'>Networking</a> </li>";} 

所有的頁面部分都在一個名爲system.php的頁面中。 在system.php的頭我有這樣的行

<?php $page = 'system'; ?> 

這讓我的CSS類「主動」申請到活動鏈接。

現在是這樣的,當我點擊同一頁上不同部分的任意一個鏈接時,'active'類將應用於所有3個菜單項。

有沒有一種方法可以將該類應用於僅點擊的鏈接?

+0

請提供一個小提琴,以便我們可以看到活動元素的編碼。這很可能是由於它們都具有相同的鏈接,即使錨點不同... – Katler 2014-09-25 13:37:34

回答

1

我明白你的問題,你可以做這樣的事情:

system.php?section=networking#networking 

而做到這一點的頂部:

<?php $page = 'system'; $section=$_GET['section']; ?> 

,然後改變你的if語句:

if ($page == 'system' AND $section == 'networking') { 

注意:這不是最好的解決方案,但使用你的風格,我希望這會幫助你!

+0

現在我收到此錯誤'Undefined index:section'on this line'<?php $ page ='system'; $部= $ _ GET [ '部分']; '>' – GlenR 2014-09-25 13:54:48

+0

將其更改爲if(isset($ _ GET ['section'])){$ section = $ _ GET ['section']; } else {$ section =「」; } – 2014-09-25 13:56:51

+0

我知道這是在我的頁面頂部<?php $ page ='system'; if(isset($ _ GET ['section'])){$ section = $ _ GET ['section']; } else {$ section =「」; }?>但它將這個類應用於所有3個鏈接! – GlenR 2014-09-25 18:36:21

0

你可以嘗試像

<?php $page = parse_url($_SERVER['REQUEST_URI'], PHP_URL_FRAGMENT); ?> 

但有一個其它附加的問題,你需要的想法。當您已經在頁面上並使用鏈接進入另一部分時,頁面將不會重新加載。

如果你想在這種情況下更新活動類,你需要JavaScript中的東西來做到這一點。 也許這個問題可以幫助你jQueryMobile add click event to a button instead of changing page

相關問題