Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.10.2014, 12:49
Интересующийся
Отправить личное сообщение для blackcky Посмотреть профиль Найти все сообщения от blackcky
 
Регистрация: 24.10.2014
Сообщений: 25

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

Ситуация такова: у меня есть один большой новостной div в нем 5 пунктов( грубо говоря это: all,1,2,3,4.). В каждом из этих пунктов имеются 10 маленьких div новостей. По умолчанию на главной странице отображается пункт all(в который входят пункты от 1 до 4(грубо говоря все)). Нужно сделать так что при нажатии на пункт 1 отображались только те новостные div у которых class="1" , при нажатии на пункт 2 только div c class="2" и так далее.
В html я классы задал, поэтому проблема заключается только в js( а то есть в том, как это все оформить в js).

Спасибо за внимание, надеюсь на вашу помощь.

<div>
<div id="top">
<ul>
<li><a href="#">ALL</a></li><li><a href="#">1</a></li><li><a href="#">2</a></li> <li><a href="#">3</a></li><li><a href="#">4</a></li>
</ul> 
</div>
<div class="novost-1">
<div class="novost"></div>
</div>
<div class="novost-2">
<div class="novost"></div>
</div>
<div class="novost-3">
<div class="novost"></div>
</div>
<div class="novost-4">
<div class="novost"></div>
</div>
<div class="novost-1">
<div class="novost"></div>
</div>
<div class="novost-2">
<div class="novost"></div>
</div>
<div class="novost-3">
<div class="novost"></div>
</div>
<div class="novost-4">
<div class="novost"></div>
</div>
</div>

Последний раз редактировалось blackcky, 24.10.2014 в 16:27.
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2014, 13:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

blackcky,
на форуме уйма этих открывашек ... в том числе и того харакера что вы просите ... поискали бы ... или хоть макет html сделали
Ответить с цитированием
  #3 (permalink)  
Старый 24.10.2014, 14:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

blackcky,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #4 (permalink)  
Старый 24.10.2014, 14:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

blackcky,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
       var a = $("#top a"), All = $(".novost-1, .novost-2, .novost-3, .novost-4");
	   a.click(function(event) {
	     event.preventDefault();
	     var text = this.text ;
	     All.hide();
         text == 'ALL'  ?  All.show() : $(".novost-"+text).show();
      });
});
  </script>
</head>

<body>
<div>
 <div id="top">
 <ul>
 <li><a href="#">ALL</a></li><li><a href="#">1</a></li><li><a href="#">2</a></li> <li><a href="#">3</a></li><li><a href="#">4</a></li>
 </ul>
 </div>
 <div class="novost-1">
 <div class="novost">1</div>
 </div>
 <div class="novost-2">
 <div class="novost">2</div>
 </div>
 <div class="novost-3">
 <div class="novost">3</div>
 </div>
 <div class="novost-4">
 <div class="novost">4</div>
 </div>
 <div class="novost-1">
 <div class="novost">1</div>
 </div>
 <div class="novost-2">
 <div class="novost">2</div>
 </div>
 <div class="novost-3">
 <div class="novost">3</div>
 </div>
 <div class="novost-4">
 <div class="novost">4</div>
 </div>
 </div>
</body>

</html>
Ответить с цитированием
  #5 (permalink)  
Старый 24.10.2014, 16:41
Интересующийся
Отправить личное сообщение для blackcky Посмотреть профиль Найти все сообщения от blackcky
 
Регистрация: 24.10.2014
Сообщений: 25

Спасибо за информацию и за код, вы мне очень помогли. НО есть одна проблема, код отказывается работать корректно, если в имени пункта есть пробел.
Ответить с цитированием
  #6 (permalink)  
Старый 24.10.2014, 16:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

blackcky,
пишите в пунктах что хотите
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
       var a = $("#top a"), All = $(".novost-1, .novost-2, .novost-3, .novost-4");
	   a.click(function(event) {
	     event.preventDefault();
	     var cls = $(this).data('cls') ;
	     All.hide();
         $(cls).show();
      });
});
  </script>
</head>

<body>
<div>
 <div id="top">
 <ul>
 <li><a href="#" data-cls=".novost-1, .novost-2, .novost-3, .novost-4">ALL</a></li>
 <li><a href="#" data-cls=".novost-1">1</a></li>
 <li><a href="#" data-cls=".novost-2">2</a></li>
 <li><a href="#" data-cls=".novost-3">3</a></li>
 <li><a href="#" data-cls=".novost-4">4</a></li>
 </ul>
 </div>
 <div class="novost-1">
 <div class="novost">1</div>
 </div>
 <div class="novost-2">
 <div class="novost">2</div>
 </div>
 <div class="novost-3">
 <div class="novost">3</div>
 </div>
 <div class="novost-4">
 <div class="novost">4</div>
 </div>
 <div class="novost-1">
 <div class="novost">1</div>
 </div>
 <div class="novost-2">
 <div class="novost">2</div>
 </div>
 <div class="novost-3">
 <div class="novost">3</div>
 </div>
 <div class="novost-4">
 <div class="novost">4</div>
 </div>
 </div>
</body>

</html>
Ответить с цитированием
  #7 (permalink)  
Старый 24.10.2014, 17:17
Интересующийся
Отправить личное сообщение для blackcky Посмотреть профиль Найти все сообщения от blackcky
 
Регистрация: 24.10.2014
Сообщений: 25

Спасибо большое, все работает. Просьба конечно не по теме, но не могли бы вы назвать литературу по js(желательно на русском) для освоения этого языка программирования. HTML и css мне стали понятны в процессе, но js не так прост.
Ответить с цитированием
  #8 (permalink)  
Старый 24.10.2014, 17:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

blackcky,
http://learn.javascript.ru/
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переключение между divами MCB Элементы интерфейса 4 30.10.2011 13:03
Переключение между областями stasq AJAX и COMET 1 07.09.2010 23:03
Как реализовать переключение между опциями? libinstyle Events/DOM/Window 1 24.03.2010 10:05
Переключение между блоками uncle_fedor Элементы интерфейса 1 10.01.2010 19:01
Отследить переключение между вкладками mrpoma Events/DOM/Window 9 02.02.2009 11:47