2012-08-05 53 views
0

我有這個簡單的JQuery切換錨標籤/鏈接上的類。 我不知道的是如何讓類切換或添加/刪除其他鏈接點擊?示例:該類只能應用於單擊的鏈接,並且一次不能多於一個。那就是我卡住的地方。那麼,我不知道該怎麼做。添加/刪除類和使用Cookie來記住選擇

第二,如何使用JQuery Cookie保持當前鏈接處於活動狀態。我已經下載了Cookie擴展。

這裏是我做了什麼:

HTML:

<ul class="navbar"> 
<li><a href="#/">Link1</a></li> 
<li><a href="#/">Link2</a></li> 
<li><a href="#/">Link3</a></li> 
</ul> 

CSS:

.activeLink{ 
    color: #930; 
} 

JQuery的:

$(document).ready(function() { 
$('.navbar li a').click(function(){ 
    $(this).toggleClass('activeLink'); 
}); 
}); 

謝謝!!

回答

1

下面是使用事件傳播的溶液:

$(function() { 

    var $activeLink, 
     activeLinkHref = $.cookie('activeLinkHref'), 
     activeClass = 'activeLink'; 

    $('.navbar').on('click', 'a', function() { 
     $activeLink && $activeLink.removeClass(activeClass); 
     $activeLink = $(this).addClass(activeClass); 
     $.cookie('activeLinkHref', $activeLink.attr('href')); 
    }); 

    // If a cookie is found, activate the related link. 
    if (activeLinkHref) 
    $('.navbar a[href="' + activeLinkHref + '"]').click(); 

});​ 

這裏的一個demo(沒有作爲的jsfiddle缺乏支持Cookie功能)。

+0

讓我快速玩這個並讓你知道。我從來沒有想出這樣的答案。 – Asynchronous 2012-08-05 23:23:43

+0

當然,它適用於我,所以讓我知道你是否有問題。 – 2012-08-05 23:50:09

+0

感謝車廠爲您提供的所有幫助,你們會產生如此巨大的差異! – Asynchronous 2012-08-06 04:01:57

0

下面是我該怎麼做。這有點簡單,但它可以完成工作,沒有太多的腦力勞動。

<ul class="navbar"> 
<li><a href="#/">Link1</a></li> 
<li><a href="#/">Link2</a></li> 
<li><a href="#/">Link3</a></li> 
</ul> 

<script> 
$(document).ready(function() { 
$('.navbar li a').click(function(){ 
    $('.navbar li a').css('color', 'black'); 
    $(this).css('color', '#930'); 
}); 
}); 
</script> 
+0

cookies的用法在哪裏?這不是垃圾回答。 – 2012-08-05 23:03:25

+1

我標記了你的帖子,因爲它是粗魯和無建設性的,因爲我們正在幫助他解決他的一部分問題。也許你應該試着回答這個問題,而不是試圖讓那些即使不是所有問題都試圖幫助的人冷靜下來。 – 2012-08-05 23:27:16

+0

這是你的意見。謝謝! – 2012-08-06 01:39:09