Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.02.2014, 14:45
Аспирант
Отправить личное сообщение для modestes Посмотреть профиль Найти все сообщения от modestes
 
Регистрация: 12.04.2012
Сообщений: 43

Написание условия
Здравствуйте!

Никак не могу сообразить как написать условие для следующей структуры.

<!DOCTYPE HTML>
<html>
  <head> 
  <script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
  </head>
  <body>
<style>
  #wrap {
      margin-bottom: 30px;
  }
  .block {
      display: none;
  }
</style>
<script>

	$(document).ready( function() {
		$('#wrap').on('click', ".item", function(){
			var elemAtr = $(this).attr('data-floor');
			alert('Элемент ' + elemAtr);
		});
	}); // end ready
	
</script>

<div id="wrap">
	<div class="item" data-floor="1">Элемент 1</div>
	<div class="item" data-floor="2">Элемент 2</div>
	<div class="item" data-floor="3">Элемент 3</div>
</div>
    
<!--Изначально скрытые блоки-->
<div class="block" data-floor-plan="1">Блок 1</div>
<div class="block" data-floor-plan="2">Блок 2</div>
<div class="block" data-floor-plan="3">Блок 3</div>
    
  </body>
</html>


Нужно чтобы при клике например на "Элемент 1" показывался "Блок 1" и так далее.

Как правильно написать такое условие?

Первая мысль это сверять каждый элемент отдельно, но мне кажется что есть более правильное решение, поэтому обращаюсь к вам за помощью.

Песочница http://learn.javascript.ru/play/pdWgP

Я не прошу решить эту задачу за меня, просто подскажите метод или пошаговую реализацию, попробую сам сделать.

Последний раз редактировалось modestes, 20.02.2014 в 14:49.
Ответить с цитированием
  #2 (permalink)  
Старый 20.02.2014, 14:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

modestes,
var elemAtr = $(this).data('floor');
<!DOCTYPE HTML>
<html>
  <head>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
  <style>
  #wrap {
      margin-bottom: 30px;
  }
  .block {
      display: none;
  }
  .item{
    cursor: pointer;
  }

</style>
<script>

	$(document).ready( function() {
		$('#wrap').on('click', ".item", function(){
			var indx = $(".item").index(this),
            el = $(".block").eq(indx);
            el.slideToggle()
			$(".block").not(el).slideUp();
		});
	});

</script>
  </head>
  <body>


<div id="wrap">
	<div class="item" data-floor="1">Элемент 1</div>
	<div class="item" data-floor="2">Элемент 2</div>
	<div class="item" data-floor="3">Элемент 3</div>
</div>

<!--Изначально скрытые блоки-->
<div class="block" data-floor-plan="1">Блок 1</div>
<div class="block" data-floor-plan="2">Блок 2</div>
<div class="block" data-floor-plan="3">Блок 3</div>

  </body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написание javascripta в Google !! ssvorg Общие вопросы Javascript 0 23.05.2013 16:04
Написание и одновременный просмотр Sundro Общие вопросы Javascript 4 29.07.2011 14:34
Присваивания условия. nyols Общие вопросы Javascript 9 06.07.2011 14:14
Условия в скрипте в зависимости от input type="radio" FladeX jQuery 15 17.02.2010 17:27