Возможно ли сделать скрипт проще?
Добрый день! Скрипт работает, но я новичок, и подозреваю, что можно было бы сделать проще. Как вы думаете?
По щелку на области карты становится видимым только тот блок, чей класс совпадает с id у "кликнутой" area:
$(document).ready(function(){
$("area").click(function(){
var $state = $(this).attr('id');
$('.'+$state).addClass('active').siblings().removeClass('active')
});
});
Буду рад вашим замечаниям! |
$(document).ready(function(){
$("area").click(function(){
$('.'+this.id ).addClass('active').siblings().removeClass('active')
});
});
обьясните, зачем добавлять блоку класс и убирать его у потомков ? в чем магия ? :)
.addClass('active').siblings().removeClass('active')
|
Цитата:
|
Но ведь если я не уберу класс у
И да - спасибо! |
Блин) где вы потомков нашли?)
<div>Какой то активный блок блок</div> <div>Смежный блок</div> <div>Смежный блок</div> <div>Смежный блок</div> <div>Смежный блок</div> метод siblings выбирает все смежные блоки (ну или по фильтру указанному в методе) от активного |
слова перепутал, прошу прощения :)
ну тогда запоминать прошлый эл и убирать класс у него, а не у всех разом
$(document).ready(function(){
var last;
$("area").click(function(){
if( last ) last.removeClass('active');
last = $('.'+this.id ).addClass('active');
});
});
|
| Часовой пояс GMT +3, время: 20:16. |