Javascript.RU

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

делегированно выбрать не могу
Всем доброго утра.
Собственно делаю оглавлени к учебнику:

<div id="mainManual">
<h2>Оглавление</h2>
    <ul>
    <li class='manual_open'><span>Введение</span>
<ul id='sub'>
<li class='file'><a href='?view=manual&amp;id=7'>Установка</a></li>
<li class='file'><a href='?view=manual&amp;id=8'>Программное обеспечение</a></li>
</ul>
</li>
<li class='manual_open'><span>Глава 1</span>
<ul id='sub'>
<li class='file'><a href='?view=manual&amp;id=10'>Интерфейс программы</a></li>
</ul></li>
    </ul>
</div>


При клике на надпись Введение появляется подменю - Установка, ПО и элементу с классом manual_open я меняю класс на manual_close. Чтобы поменялась картинка слева от Введения.

Теперь необходимо при клике на элемент класса manual_close менялся класс обратно на manual_open.

код:

$('.manual_open>span').click(function(){
        var i = 0;
        i++;
        var parentElement = $(this).parent();
        parentElement.attr('class', 'manual_close');
        $("#sub",parentElement).toggle();
    });
    
    $('.mainManual ul').on('click', '.manual_close', function(){
        alert("tyt");
    });


Направьте кто может меня по правильному пути)
Ответить с цитированием
  #2 (permalink)  
Старый 28.03.2014, 09:01
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Megokryak
Направьте кто может меня по правильному пути
Более удобный вариант не менять один класс на другой, а добавлять или убирать какой-то один класс типа ON или OFF...
Ответить с цитированием
  #3 (permalink)  
Старый 28.03.2014, 09:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Megokryak,
строка 5
parentElement.toggleClass('manual_open manual_close')

строки 5, 8-10 выкинуть.
Ответить с цитированием
  #4 (permalink)  
Старый 28.03.2014, 10:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Меню открыть закрыть со сменой класса
- одинаковые id это не есть хорошо.
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
   <meta charset="utf-8">
  <style type="text/css">
   li  > ul {
    display: none;
  }
  li.manual_open, li.manual_close{
     list-style-type: none;

  }
  span{
     cursor: pointer;
  }
  .manual_open::before {
     content: "+ ";
     margin-left: 0px;
    }
  .manual_close::before {
     content: "- ";
     margin-left: 5px;
   }
  </style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
$(function () {
      $('span:has(+ul)').click(function (e) {
          $(this).parent().toggleClass('manual_open manual_close')
          e.stopPropagation();
          $('+ul', this).slideToggle();
      });
  })
  </script>
</head>

<body>
<div id="mainManual">
<h2>Оглавление</h2>
    <ul>
    <li class='manual_open'><span>Введение</span>
<ul class='sub'>
<li class='file'><a href='?view=manual&amp;id=7'>Установка</a></li>
<li class='file'><a href='?view=manual&amp;id=8'>Программное обеспечение</a></li>
</ul>
</li>
<li class='manual_open'><span>Глава 1</span>
<ul class='sub'>
<li class='file'><a href='?view=manual&amp;id=10'>Интерфейс программы</a></li>
</ul></li>
    </ul>
</div>

</body>

</html>

Последний раз редактировалось рони, 28.03.2014 в 10:30.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять где ошибка Серый (X)HTML/CSS 3 01.02.2014 21:51
не могу выбрать элемент alex2012 AJAX и COMET 2 05.11.2012 02:15
Не могу выбрать и удалить клонируемые элементы AlexPrm jQuery 6 30.05.2010 15:58
Выбрать все, кроме одного div'а. Как? Юрий Шу jQuery 9 27.05.2010 17:37
Не могу выбрать данные с XML kill_windows AJAX и COMET 7 30.04.2010 12:13