Возможно ли сделать скрипт проще?
Добрый день! Скрипт работает, но я новичок, и подозреваю, что можно было бы сделать проще. Как вы думаете?
По щелку на области карты становится видимым только тот блок, чей класс совпадает с 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, время: 07:07. |