2012-02-11 2 views
0

Я пытаюсь изменить мои ссылки на мыши, а затем изменять их при нажатии и STAY до тех пор, пока не будет нажата новая ссылка. Ссылки начинают немного прозрачны и при наведении получается полная непрозрачность с нижней границей или 5. При нажатии на ссылку, однако он не остается активным, даже если я использовал:Текущие ссылки не остаются активными

nav ul li a:active, nav ul li a.current { 
opacity:1; 
border-bottom:5px solid #37DD57; 
position: relative; 
top: 1px; 
} 

Есть ли что-то, что я делаю неправильная или функция скрипта мне нужно позвонить? Вот мой черновик веб-сайта: http://envycosmetics.zxq.net/Website/webpages/index.html

ответ

0

Активная ссылка активна только до тех пор, пока не будет нажата другая ссылка или пока объект окна не будет уничтожен. Ваши ссылки перезагружают страницу новым URL-адресом, поэтому при загрузке страницы ни одна из ваших ссылок не активна. Вам нужно будет использовать некоторое обнаружение URL-адресов и настроить их так, как на стороне клиента, так и на стороне сервера.

Попробуйте это:

var _links = ['news','about','gallery'], // etc.. 
    _pagename = null, 
    i   = 0, 
    max  = _links.length; 

for(; i<max; i++) { 
    _pagename = window.location.pathname.match(/[a-z]+(?=.html)/); 
    if (_pagename == _links[i]) { 
     document.getElementById(_pagename).childNodes[0].className = 'current'; 
    } 
} 

Визит http://envycosmetics.zxq.net/Website/webpages/gallery.html, вставить код выше в консоли и нажмите клавишу ВВОД, и вы должны увидеть вкладку Галерея получить подсвечивается.

+0

Он уже настроен для работы с классом '.current', поэтому ему просто нужно добавить' class = "current" 'в элемент' a' текущей страницы. – justis

+0

Правильно, вот что мой код делает – AlienWebguy

+0

Я бы определенно предложил либо добавить класс вручную на каждой странице, если они жестко закодированы, либо сделать это в PHP/etc, а не в JS. – justis

Смежные вопросы