Varenik

Рейтинг
85
Регистрация
10.01.2012
burunduk:
а как он может сработать если там всё удалено?

оно удаляет клас у всех и ставит его тому елементу, на который нажато. Тоесть. при клике на элемент у одного слас удаляется, а другому подставляется

$('.menu-v').find('li.selected').removeAttr('class'); срабатывает только при первом клике, аналогично как и $('.menu-v').find('li.selected').removeClass('selected');

При последующих не срабатывает

Это то понятно

Структура какого вида:

 $('.menu-v').find('li.selected').removeClass('selected');

Должна убрать класс у всех LI .selected, поскольку берем блок menu-v ищем у них все элементы с классом selected и удаляем его, но почему-то не срабатывает

Добавить class сообразил как


if ($(this).children("ul").is(":hidden")) {
$(this).children("ul").slideDown() ;
$(this).addClass('selected') ;
}

А вот как remove ранее выставленный что-то никак

Структура правильная и исходя с нее и нужно плясать. Переписал код и привел его к вот такому виду и все работает

$('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).children("ul").slideDown() ;

}
event.stopPropagation();
}

});


});

Но теперь постал вопрос о маркировке активного пункта, который нажат и скрытие остального. Голова уже квадратная

burunduk:
Varenik, я бы для проверки использовал бы что-то типа

а для переключения

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


<li class="cl_1"><a href="#">Для детей</a>
<ul id="id_1">
<li class="cl_2"><a href="#">Постельное белье</a>
<ul id="id_2">
<li>kjhkjhl</li>
<li>nk,n,n,n</li>
</ul>
</li>
</ul>
</li>

при нажатии на cl_1 раскрывается id_1. при нажатии на cl_2 должен раскрывается id_2. На практике он и раскрывается, но тут же срабатывает скрытие id_1, что не должно происходить

Спасибо. не учел этот момент на проверку существования. Данный вопрос отпал, но основной все же остался

Извиняюсь. Действительно там логин begemot.exchahge. H вместо N 😡

Обменивал Qiwi на ЯД. Средства перевел отписал что через 10 минут кинет на ЯД и через 10 минут пропал с сети. На ЯД так ничего и не поступило. Настораживает. Хорошо что решил сделать тестовый перевод

Всего: 223