Показать сообщение отдельно
  #1 (permalink)  
Старый 21.01.2014, 13:33
Интересующийся
Отправить личное сообщение для XFlame Посмотреть профиль Найти все сообщения от XFlame
 
Регистрация: 07.05.2013
Сообщений: 10

Оптимизация фильтрации и показа
Уважаемые знатоки!
Подскажите новичку ))
Допустим есть такая разметка:
<div id="container">
  <div id="nav">
    <a href="#title1">Показать только Title 1</a>
    <a href="#title2">Показать только Title 2</a>
    <a href="#title3">Показать только Title 3</a>
    <!-- и так далее -->
  </div>
  <div id="title1" class="panel">Title 1</div>
  <div id="title2" class="panel">Title 2</div>
  <div id="title3" class="panel">Title 3</div>
    <!-- и так далее -->
</div>


Мне нужно, чтобы при клике на ссылку показывался только соответствующий ей блок. Таких блоков будет где-то 30-40 штук.

Я делаю так:
$(document).ready(function(){
    $('#nav a[href="#title1"]').click(function(){
      $('.panel').hide();
      $('#title1').show();
    });
    $('#nav a[href="#title2"]').click(function(){
      $('.panel').hide();
      $('#title2').show();
    });
    $('#nav a[href="#title3"]').click(function(){
      $('.panel').hide();
      $('#title3').show();
    });
    // и так далее
});


Но, я подозреваю, что этот код можно упростить, например, как-то так:
1. Отследить клик по ссылке внутри блока #nav.
2. Занести в переменную соответствующее значение href.
2. Спрятать все блоки с классом .panel
3. Вывести блок с id (из переменной)

Как это практически сделать? А может есть еще более простое решение?
Ответить с цитированием