2015-04-04 40 views
-1

我現在正在製作一個菜單,我想要一個專輯,當我點擊一個專輯鏈接時,一直保持懸停效果。當我點擊鏈接時,如何保持我的懸停效果處於活動狀態?

我已經得到了在CSS類,它的命名 「主動」

<?php 

$query = "SELECT album_id, album_title FROM albums WHERE fk_category_id = 1"; 
$result = $mysqli->query($query); 

while ($row = $result->fetch_array(MYSQLI_ASSOC)) { 
    $album_title = $row['album_title']; 
    $album_id = $row['album_id']; 

    echo "<a href='index.php?page=portfolio.php&album=$album_id'><p class='albums'>- $album_title</p></a>"; 

} 

?> 

風格:

nav ul li a:hover, nav ul li a.active { 
    font-size: 20px !important; 
    background-color: #2d2d2d; 
    color: #b8df45; 
} 

我試圖做這樣的事情,但它不工作。

if(isset($_GET['album'])){ 
    $album_number = $_GET['album']; 

} 

$query = "SELECT album_id, album_title FROM albums WHERE fk_category_id = 1"; 
$result = $mysqli->query($query); 

while ($row = $result->fetch_array(MYSQLI_ASSOC)) { 
    $album_title = $row['album_title']; 
    $album_id = $row['album_id']; 

    $class = ""; 
    if ($album_number == $row['album_id']) { 
     $class = "active"; 
    } 

    echo "<a class='$class' href='index.php?page=portfolio.php&album=$album_id'><p class='albums'>- $album_title</p></a>"; 

} 
+0

您的意思是在頁面加載時,當前鏈接到當前頁面應該是活動的?或在頁面加載後點擊鏈接並想更改顏色? – 2015-04-04 19:36:02

+0

@AliSheikhpour我想要它,所以一旦你點擊鏈接,就會爲你點擊的鏈接添加一個類.active,但只有你當前點擊的鏈接,如果我選擇點擊另一個鏈接,它會是一個與類.active – Athax 2015-04-04 19:40:21

回答

2

指定一個類你的鏈接,然後一個jQuery函數中添加類:

添加類 「鏈接」 到鏈接:

<?php 

$query = "SELECT album_id, album_title FROM albums WHERE fk_category_id = 1"; 
$result = $mysqli->query($query); 

while ($row = $result->fetch_array(MYSQLI_ASSOC)) { 
    $album_title = $row['album_title']; 
    $album_id = $row['album_id']; 

    echo "<a class='links' href='index.php?page=portfolio.php&album=$album_id'><p class='albums'>- $album_title</p></a>"; 

} 

?> 

的Jquery:

$(document).ready(function(){ 
    $(".links").click(function(){ 
    $(this).addClass("active"); 
    }); 
}); 

您也可以使用您的代碼進行內聯操作,但不推薦:

echo "<a onclick='$(this).addClass(\"active\")' href='index.php?page=portfolio.php&album=$album_id'><p class='albums'>- $album_title</p></a>"; 

,這是沒有的Jquery:

<a onclick="this.setAttribute("class", "active");"> 
+0

它不起作用,它似乎像它添加活動在你點擊的時刻,但然後重置後立即。 :( – Athax 2015-04-04 19:52:03

+0

您是否在您的文件中包含jquery? – 2015-04-04 19:54:28

+0

我是這樣做的 Athax 2015-04-04 19:56:24

0

您可以在類或樣式添加到使用JavaScript的鏈接,點擊它時,給它適當的風格。

樣式是你的代碼中的錯誤,所以我不能使用它。但是,你可以這樣做:

echo "<a href='...' onclick=\"this.style='...';\">...</a>"; 

還有很多其他的方法可以做到這在JavaScript或使用jQuery的幫助。

+0

我剛添加樣式。 – Athax 2015-04-04 19:56:03

相關問題