Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.03.2014, 20:51
Новичок на форуме
Отправить личное сообщение для Dizzy Посмотреть профиль Найти все сообщения от Dizzy
 
Регистрация: 07.07.2013
Сообщений: 9

Ограничить список до нужного ко-ва элементов
Добрый вечер.
У меня появилась следующая задача:

На главной странице сайта двумя циклами выводятся категории и их дочерние категории.

<ul>
начало первого цикла
<li>Название категории</li>

<ul>
начало второго цикла цикла

<li>Название подкатегории</li>
....

конец второго цикла
</ul>

конец первого цикла
</ul>

Как-то так.

Так вот, так как ко-во дочерних категорий в каждом его родителе может быть разное, мне бы хотелось сделать джаваскриптом простую функцию скрыть/показать все, а по умолчанию, чтоб выводилось по 5 подкатегорий, например.

Что скажете?
Ответить с цитированием
  #2 (permalink)  
Старый 25.03.2014, 20:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Dizzy,
а нарисуйте html
Ответить с цитированием
  #3 (permalink)  
Старый 25.03.2014, 21:31
Новичок на форуме
Отправить личное сообщение для Dizzy Посмотреть профиль Найти все сообщения от Dizzy
 
Регистрация: 07.07.2013
Сообщений: 9

Так?

По умолчанию выводится по три дочерних категории у каждого родителя.
По клику на ссылку «Показать остальные дочерние категории» — показать остальные дочерние, которые относятся этому родителю.


<html>
<head>
<meta charset="UTF-8">
</head>
<body>

<ul>
<li>Название родительской категории</li>

<ul>
<li>Название дочерней категории 1</li>
<li>Название дочерней категории 2</li>
<li>Название дочерней категории 2</li>
<li>Показать остальные дочерние категории</li>
</ul>


<li>Название родительской категории 2</li>

<ul>
<li>Название дочерней категории 1</li>
<li>Название дочерней категории 2</li>
<li>Название дочерней категории 3</li>
<li>Показать остальные дочерние категории</li>
</ul>
 
</ul>

</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 25.03.2014, 22:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Dizzy,
<!DOCTYPE HTML>

<html>
<head>
<meta charset="utf-8">
 <style type="text/css">
 .gold ~ li{
   display: none;
 }
      .red{
    background-color: #FF0000;
    cursor: pointer;
    opacity: 0.5
  }
  .gold{
    opacity: 1;
    background-color: #FFD700;
  }

 </style>
 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>

<ul>
<li>Название родительской категории</li>

<ul>
<li>Название дочерней категории 1</li>
<li>Название дочерней категории 2</li>
<li>Название дочерней категории 2</li>
<li>Название дочерней категории 1</li>
<li>Название дочерней категории 2</li>
<li>Название дочерней категории 2</li>
</ul>


<li>Название родительской категории 2</li>
<ul>
<li>Название дочерней категории 1</li>
<li>Название дочерней категории 2</li>
<li>Название дочерней категории 3</li>
<li>Название дочерней категории 1</li>
<li>Название дочерней категории 2</li>
<li>Название дочерней категории 2</li>
</ul>

</ul>
<script>
 $("li + ul").each(function () {
         $("li:eq(2)", this).after(
             $("<li/>", {
                 "text": "Показать остальные дочерние категории",
                 "click": function (event) {
                     $(this).toggleClass("gold")
                 },
                 "class": "gold red"
             }))
     });
</script>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 27.03.2014, 00:17
Новичок на форуме
Отправить личное сообщение для Dizzy Посмотреть профиль Найти все сообщения от Dizzy
 
Регистрация: 07.07.2013
Сообщений: 9

Благодарю.
Ответить с цитированием
  #6 (permalink)  
Старый 20.05.2014, 00:27
Новичок на форуме
Отправить личное сообщение для Dizzy Посмотреть профиль Найти все сообщения от Dizzy
 
Регистрация: 07.07.2013
Сообщений: 9

Прошу прощения за, возможно, дурацкий вопрос. Ещё раз нужна помощь.
Немного поменялась структура и добавились классы. Я сколько не пытался крутить — правильно не получается.
Структура документа:

<div class="general"> 
    <ul  class="list">
    		    <li class="group-content " style="height: 320px;">                                                       
                   <h2><a href="#" title="">Название родительской категории</a></h2>                                       
                    <div class="childlist-wrapper">
                               <ul class="childlist last">
                                 	<li><a href="#" title="#">Название дочерней категории 1</a></li>
									<li><a href="#" title="#">Название дочерней категории 2</a></li>
									<li><a href="#" title="#">Название дочерней категории 3</a></li>
                                    <li>
                                    <a class="see-all" href="#" title="#" >
                                        <span>Показать все</span>
                                    </a>
                                	</li>
                               </ul>
                       </div>
                </li>

    		    <li class="group-content " style="height: 320px;">                                                       
                   <h2><a href="#" title="">Название родительской категории 2</a></h2>                                       
                    <div class="childlist-wrapper">
                               <ul class="childlist last">
                                 	<li><a href="#" title="#">Название дочерней категории 1</a></li>
									<li><a href="#" title="#">Название дочерней категории 2</a></li>
									<li><a href="#" title="#">Название дочерней категории 3</a></li>
                                    <li>
                                    <a class="see-all" href="#" title="#" >
                                        <span>Показать все</span>
                                    </a>
                                	</li>
                               </ul>
                       </div>
                </li>				
     </ul>     
</div>
Ответить с цитированием
  #7 (permalink)  
Старый 20.05.2014, 00:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Dizzy,
Показать все что должно показать?
Ответить с цитированием
  #8 (permalink)  
Старый 20.05.2014, 01:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Dizzy,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .childlist.last  li:nth-child(n + 5){
    display: none;
  }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
  	$(function ()
  	  {
  	    $(".childlist-wrapper ul").each(function ()
  	      {
  	        $("li:eq(2)", this).after(
  	          $("<li/>",
  	            {
  	            "html": '<a class="see-all" href="#" title="#" ><span>Показать все</span></a>'
  	            }
  	          )
  	        )
  	      }
  	    );
  	    $('.see-all').click(function (event)
  	      {
  	        event.preventDefault()
  	        $(this).parent().nextAll().slideToggle("slow")
  	      }
  	    )
  	  }
  	)
  </script>
</head>

<body>
<div class="general">
    <ul  class="list">
    		    <li class="group-content " style="height: 320px;">
                   <h2><a href="#" title="">Название родительской категории</a></h2>
                    <div class="childlist-wrapper">
                               <ul class="childlist last">
                                 	<li><a href="#" title="#">Название дочерней категории 1</a></li>
									<li><a href="#" title="#">Название дочерней категории 2</a></li>
									<li><a href="#" title="#">Название дочерней категории 3</a></li>
                                    <li><a href="#" title="#">Название дочерней категории 1</a></li>
									<li><a href="#" title="#">Название дочерней категории 2</a></li>
									<li><a href="#" title="#">Название дочерней категории 3</a></li>
                               </ul>
                       </div>
                </li>

    		    <li class="group-content " style="height: 320px;">
                   <h2><a href="#" title="">Название родительской категории 2</a></h2>
                    <div class="childlist-wrapper">
                               <ul class="childlist last">
                                 	<li><a href="#" title="#">Название дочерней категории 1</a></li>
									<li><a href="#" title="#">Название дочерней категории 2</a></li>
									<li><a href="#" title="#">Название дочерней категории 3</a></li>
                                    <li><a href="#" title="#">Название дочерней категории 1</a></li>
									<li><a href="#" title="#">Название дочерней категории 2</a></li>
									<li><a href="#" title="#">Название дочерней категории 3</a></li>
                               </ul>
                       </div>
                </li>
     </ul>
</div>


</body>

</html>
Ответить с цитированием
  #9 (permalink)  
Старый 21.05.2014, 00:25
Новичок на форуме
Отправить личное сообщение для Dizzy Посмотреть профиль Найти все сообщения от Dizzy
 
Регистрация: 07.07.2013
Сообщений: 9

Сообщение от рони Посмотреть сообщение
Dizzy,
Показать все что должно показать?
Да. Премного благодарен.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить список элементов в localStorage? Бобр Общие вопросы Javascript 8 17.09.2013 14:32
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
Как ограничить количество элементов (списков <li>) массивов Naum Элементы интерфейса 2 04.04.2011 11:56
Сделать список multiple select с сортировкой элементов Nargiza Элементы интерфейса 2 17.08.2010 14:44
Как прочитать список имён элементов в Cookie? Бобр Общие вопросы Javascript 6 09.02.2010 08:47