Javascript.RU

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

Если меню активное - как сделать развернутым
Подскажите, пожалуйста, как сделать проверку имеется ли у li (то есть li>ul>li) класс active. И если имеется развернуть список (добавить к dropdown класс open, а к ul ('style', 'display:block;');
Как пример с низу, активна ссылка 1 из списка 2
$(document).ready(function(){
		$('.dropdown').on('click', function() {
			if ($(this).hasClass('open')) {
				$(this).children('ul').attr('style', '');
				$(this).removeClass('open');
			} else {
				$(this).children('ul').attr('style', 'display:block;');
				$(this).addClass('open');
			}
			return false;
		});
		$('.dropdown a').on('click', function() {
			window.location = $(this).attr('href');
		});
		$('li.dropdown > a').attr('style', 'width: 80%;');
		$('.menu li').attr('style', 'background: #36404b;');
		$('.dropdown li').attr('style', 'background: #36404b;');
});

<ul class="menu">
<li class="dropdown"><a href="/">Список 1</a><ul>
<li><a href="/">Ссылка 1</a></li>
<li><a href="/">Ссылка 2</a></li>
<li><a href="/">Ссылка 3</a></li>
<li class="last"><a href="/">Ссылка 4</a></li>
</ul></li>
<li class="last dropdown active"><a href="/">Список 2</a><ul>
<li class="active<!-- ссылка 1 из списка 2 активна, потому необходимо развернуть список 2--> "><a href="/">Ссылка 1</a></li>
<li><a href="/">Ссылка 2</a></li>
<li><a href="/">Ссылка 3</a></li>
<li class="last"><a href="/">Ссылка 4</a></li>
</ul></li>
</ul>

Последний раз редактировалось Thai1, 20.02.2019 в 22:11.
Ответить с цитированием
  #2 (permalink)  
Старый 20.02.2019, 22:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

$('.dropdown.active').trigger('click')


при загрузке страницы, все будет хоккей )

Последний раз редактировалось laimas, 20.02.2019 в 22:51.
Ответить с цитированием
  #3 (permalink)  
Старый 20.02.2019, 23:20
Новичок на форуме
Отправить личное сообщение для Thai1 Посмотреть профиль Найти все сообщения от Thai1
 
Регистрация: 20.02.2019
Сообщений: 3

Сообщение от laimas Посмотреть сообщение
$('.dropdown.active').trigger('click')


при загрузке страницы, все будет хоккей )
Может что то не туда пихаю или делаю не так, но не срабатывает
Ответить с цитированием
  #4 (permalink)  
Старый 20.02.2019, 23:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

$(document).ready(function(){
        $('.dropdown').on('click', function() {
            if ($(this).hasClass('open')) {
                $(this).children('ul').attr('style', '');
                $(this).removeClass('open');
            } else {
                $(this).children('ul').attr('style', 'display:block;');
                $(this).addClass('open');
            }
            return false;
        });
        $('.dropdown a').on('click', function() {
            window.location = $(this).attr('href');
        });
        $('li.dropdown > a').attr('style', 'width: 80%;');
        $('.menu li').attr('style', 'background: #36404b;');
        $('.dropdown li').attr('style', 'background: #36404b;');

       $('.dropdown.active').trigger('click');
});
Ответить с цитированием
  #5 (permalink)  
Старый 21.02.2019, 00:19
Новичок на форуме
Отправить личное сообщение для Thai1 Посмотреть профиль Найти все сообщения от Thai1
 
Регистрация: 20.02.2019
Сообщений: 3

Сообщение от laimas Посмотреть сообщение
$(document).ready(function(){
        $('.dropdown').on('click', function() {
            if ($(this).hasClass('open')) {
                $(this).children('ul').attr('style', '');
                $(this).removeClass('open');
            } else {
                $(this).children('ul').attr('style', 'display:block;');
                $(this).addClass('open');
            }
            return false;
        });
        $('.dropdown a').on('click', function() {
            window.location = $(this).attr('href');
        });
        $('li.dropdown > a').attr('style', 'width: 80%;');
        $('.menu li').attr('style', 'background: #36404b;');
        $('.dropdown li').attr('style', 'background: #36404b;');

       $('.dropdown.active').trigger('click');
});
Спасибо!)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать меню активным для определнных ссылок belka_bk Элементы интерфейса 6 08.03.2014 11:52
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
как сделать чтобы пункт меню бил виделений tarasvepr jQuery 2 03.02.2014 11:50
как сделать меню из кнопок списком ? arkady21 Общие вопросы Javascript 0 06.10.2010 11:40
как сделать кнопки меню в виде веера? sever2k6 Элементы интерфейса 5 29.07.2010 00:46