2012-07-20 3 views
0

У меня есть панель навигации на моей странице, содержащая ссылки, которые я хотел бы по-разному ставить, если они являются последней нажатой ссылкой. Я настроил мой CSS, как это:CSS jQuery Active Tab Selection

#nav li a.active { 
    background-color: #F2F2F2; 
    color: #000000; 
    font-weight: bold; 
} 

и у меня есть скрипт JQuery в моем файле макет, который выглядит следующим образом:

$('#nav li a').click(function() { 
    $('#nav li a.active').removeClass('active'); 
    $(this).addClass('active'); 
}); 

Всякий раз, когда я нажимаю ссылку, я получаю желаемый эффект , но только до загрузки следующей страницы. Когда загружается следующая страница, ссылка, которую я просто кликнул, не имеет .active класса css. Как я могу сохранить этот класс между разными страницами?

+0

ли страница генерируется динамически, например, с помощью PHP? то вы можете просто добавить сервер класса. – Thomas

+0

Это приложение Sinatra, поэтому страница сгенерирована с использованием Ruby –

+0

Нельзя добавить сервер класса на стороне, проверив текущее имя файла/URL-адрес и сравнив его со ссылкой href. Определенно было бы лучше, чем файлы cookie. – Thomas

ответ

1

Для сохранения значения, которые вы можете использовать куки JavaScript

Скачать и включить плагин из здесь https://github.com/carhartl/jquery-cookie

и добавить JS

document.ready(function(){ 

if($.cookie("prev") != '') 
{ 
$('#'+ $.cookie("prev")).addClass('active'); 
} 

$('#nav li a').click(function() { 
    $('#nav li a.active').removeClass('active'); 
    $(this).addClass('active'); 
$.cookie("prev", $(this).attr('id')); 
}); 

});