window.location.hash и addClass
Добрый день!
Я новичок в JS. Подскажите, где у меня ошибка. if ( window.location.hash == "#age") { function age() { if ( $('li').hasClass('currentage') ) $('.currentage').removeClass('currentage').addClass('current'); } } if ( window.location.hash == "#pr") { function pr() { if ( $('li').hasClass('currentpr') ) $('.currentpr').removeClass('currentpr').addClass('current'); } } if ( window.location.hash == "#country") { function country() { if ( $('li').hasClass('currentcountry') ) $('.currentcountry').removeClass('currentcountry').addClass('current'); } } <body onload = "age(); pr(); country();"> такая конструкция не работает но одна из частей работает нормально, например: if ( window.location.hash == "#age") { function age() { if ( $('li').hasClass('currentage') ) $('.currentage').removeClass('currentage').addClass('current'); } } Где я что упускаю? |
Кстати, и почему не работает вот такая простая конструкция:
if ( window.location.hash == "#age") { $('.currentage').removeClass('currentage').addClass('current'); } if ( window.location.hash == "#pr") { $('.currentpr').removeClass('currentpr').addClass('current'); } if ( window.location.hash == "#country") { $('.currentcountry').removeClass('currentcountry').addClass('current'); } |
Цитата:
if ( $('li').hasClass('currentpr') ) $('.currentpr').removeClass('currentpr').addClass('current');Первый элемент $('li') не имеет такого класса, соответственно в условии получаем false и ничего не происходит. |
1) функции нельзя объявлять внутри условий.
2) Че за китай-код? Вам платят за количество строк? 3) На кой вам onload если у вас под рукой jQuery с его $(document).ready() ? Почему не так ?: $(document).ready(function(){ var hash = location.hash.substring(1); if (hash) { var className = 'current' + hash; $('.' + className).removeClass(className).addClass('current'); } }); Вот только к чему все эти танцы с бубном? Какому человеку в здравом уме понадобится сначала генерить currentblabla на сервере, а затем заменять на current в браузере? Попахивает бредом, не говоря уж про кривизну рук. |
Цитата:
var age = function() Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 11:48. |