Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.07.2013, 14:26
Интересующийся
Отправить личное сообщение для nvp2 Посмотреть профиль Найти все сообщения от nvp2
 
Регистрация: 31.10.2012
Сообщений: 15

Помогите с раскрытием списка - JS
возникла надобность переделать многоуровневое вертикальное меню так чтобы, если в нем есть подуровень, при нажатии на элемент ссылка не срабатывала а открывался вложенный список.
Пытался реализовать таким образом
$('.menu-v li').bind('click',function(event){ 
      event.preventDefault();  
       
      if ($(this).find('ul').length) { //если в нажатом элементе есть вложенный список 
       
        list_item=$(this).find('ul:first'); // берем его в обработку 

        
        if (list_item.css('display')=='none') {  // и заскрываем/скрываем в зависимости от состояния 
          list_item.css('display','block'); 
           } 
        else { 
          list_item.css('display','none'); 
        } 
       
      }  
      else { 
        alert("error"); 
       
      } 
    });

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


Заранее благодарю за ответ

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

nvp2,
может так Выпадающее меню на jquery
хороший поиск по форуму даст массу ответов для вашего случая -- и кроме скрипта желательно приводить html на котором он работает.
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2013, 15:04
Интересующийся
Отправить личное сообщение для nvp2 Посмотреть профиль Найти все сообщения от nvp2
 
Регистрация: 31.10.2012
Сообщений: 15

Сообщение от рони Посмотреть сообщение
nvp2,
может так Выпадающее меню на jquery
хороший поиск по форуму даст массу ответов для вашего случая -- и кроме скрипта желательно приводить html на котором он работает.
Благодарю. Когда голова уже квадратная и правильно запрос поиска не получается составить

Видоизменил пример дабы избежать перехода по ссылкам разделов и то что мне нужно))
$('document').ready(function(){
$('.menu-v li').click(function (event) {
if ($(this).find('ul').length) {event.preventDefault();}
$(this).parent().find("li ul:visible").slideUp()

if($(this).children("ul").is(":hidden"))$(this).ch ildren("ul").slideDown() ;

event.stopPropagation();

});


});
Ответить с цитированием
  #4 (permalink)  
Старый 08.07.2013, 15:20
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

а саму html-ку глянуть мона??
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите расшифровать JS pavdin Общие вопросы Javascript 24 01.04.2017 20:37
Помогите с небольшим эффектом на JS. При наведении курсора.. bayanruby Элементы интерфейса 10 27.05.2012 02:44
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28
помогите js скрипты не окрываются:( новичок Общие вопросы Javascript 2 19.09.2009 16:21
помогите написать аналог строки include("index.php?open=1") на js bushstas Общие вопросы Javascript 1 19.07.2009 02:48