Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 2
Регистрация: 09.10.2013
Сообщений: 58

Меню работающее на jQuery, не правильно работает

24.10.2013, 17:21. Показов 742. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется меню. При щёлканье в нём на каком-нибудь радел. Открывается список ссылок меню. Щёлкая на любую и них , мы заходим на странницу куда они ведут. Но после того как заходим на новую странницу, меню сбрасывается, устанавливается как по умолчанию. Не пойму как сделать чтоб меню не сбрасывалось.

Вод код

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<ul id="leftMenu">              
    <li id="bx_2037796212_69" class="shut"> Изделия из оргстекла </li>
    <ul style="display: none;">
        <li id="bx_2037796212_70" class="SECTION_ID=70">
        <a href="/tovar/izdelia_iz_orgstekla/1_cennikoderzateli.php">Ценникодержатели</a>
        </li>
        <li id="bx_2037796212_71" class="SECTION_ID=71">
        <a href="/tovar/izdelia_iz_orgstekla/2_gorki_pod_tovari.php">Горки под товары</a>
        </li>
    </ul>
    
    <li id="bx_2037796212_92" class="shut"> Лазерная резка </li>
    <ul style="">
        <li id="bx_2037796212_109" class="SECTION_ID=109">
        <a href="/tovar/lazernaia_rezka/1_lazernaia_rezka.php">Лазерная резка</a>
        </li>
        <li id="bx_2037796212_87" class="SECTION_ID=87">
        <a href="/tovar/izdelia_iz_orgstekla/17_podsavki_pod_plastikovie_karti.php">Подставки под пластиковые карты </a>
        </li>
    </ul>
    
</ul>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  
        $(document).ready(function(){
            $("#leftMenu > li").click(function(){
                $('.shut').removeClass('active');
                if(false == $(this).next().is(':visible')) {
                    $('#leftMenu > ul').slideUp(300);
                } 
                $(this).next().slideToggle(300);
            });
            function openMenu(id) {
                $('#'+id).parent().show();
            }
            $('#leftMenu > ul:eq(0)').show();
        });


по умолчанию меню выводится в этом месте
JavaScript
1
$('#leftMenu > ul:eq(0)').show();
подскажите как можно сделать чтоб меню устанавливалось от зависимости нажатия курсора мыши, чтоб не сбрасывалось по умолчанию при переходе по ссылкам меню.
По умолчанию должно только сбрасываться, когда щёлкаешь например на главную странницу сайта.

Добавлено через 2 минуты
то есть должно оставаться открым то меню из которого пришел. а не постоянно первое
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.10.2013, 17:21
Ответы с готовыми решениями:

Callback работает не правильно jQuery
При создании слайдера столкнулся с тем что callback функция запущенная внутри функции animate() выполняется примерно на 400мс раньше...

JQuery UI Autocomplete c minLength: 0 не правильно работает
Добрый день. Есть autocomplete прикрученный к input. После события change это поле перезагружается. В итоге на обновленном input уже не...

Иерархическое меню работающее вне ОС
в общем дали задачу - &quot;со звездочкой&quot;, нужно написать программу менюшку, но условие такое - она должна работать вне ОС и использовать лишь...

2
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
26.10.2013, 19:18
У тебя же обновляется страница, и, соответственно, скрипты запускаются заново. Так что это нормально. Можешь попробовать воспользоваться плагином сессий или куков для Jquery. И записывать в них какую-нибудь переменную состояния твоего меню, а на новой странице считывать ее. Либо подгружать контент Ajaxом
1
0 / 0 / 2
Регистрация: 09.10.2013
Сообщений: 58
28.10.2013, 12:46  [ТС]
MadHatter,
спасибо за дельный совет. Решил сделать через плагин сессии. Постарался код реализовать. Но в коде где-то ошибка. То есть меню всё равно некорректно работает.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
            $(document).ready(function(){
                $("#leftMenu > li").click(function(){
                    $('.shut').removeClass('active');
                    if(false == $(this).next().is(':visible')) {
                        $('#leftMenu > ul').slideUp(300);
                        
                    } 
                    $(this).next().slideToggle(300);
                });
                function openMenu(id) {
                    $('#'+id).parent().show();
                }
                $('texy_menu').show();
            });
        
            var menu_sohranialka = $.cookie("menu_sohranialka");
            var texy_menu;
            if(menu_sohranialka == null)
            {
              cookieFromCheckbox3(); // устанавливающая куки
              menu_sohranialka = $.cookie("menu_sohranialka");
            }
            else
              checkboxFromCookie3(); // востанавливающая куки
            
            $("input:checkbox").change(function(){
              cookieFromCheckbox3(); // устанавливающая куки
            });
            
            // функция устанавливающая куки, хранящие состояния checkbox'ов
            function cookieFromCheckbox3()
            {
              var ch ;
              $(".shut").each(function(){
                var $el = $(this);
                if($el.prop(":visible"))
                {
                  ch.push($el.attr("id"));
                }
              });
            
              $.cookie("menu_sohranialka", ch);
            }
            
            // функция восстанавливающая состояния checkbox'ов по кукам
            function checkboxFromCookie3()
            {
              if($.cookie("menu_sohranialka") == null)
                return;
              var chMap = $.cookie("menu_sohranialka");
              
              if(chMap == "bx_1")
              {
                texy_menu = '#leftMenu > ul:eq(0)';
              }
              if(chMap == "bx_2")
              {
                texy_menu = '#leftMenu > ul:eq(1)';
              }
              if(chMap == "bx_3")
              {
                texy_menu = '#leftMenu > ul:eq(2)';
              }
            }
Добавлено через 5 минут
Ошибка заключается, в том что всегда при обновлении странницы всегда открытый раздел "Лазерная резка". То есть в переменную texy_menu всегда заносится значение '#leftMenu > ul:eq(1)'
вот малость изменнённый хтмл.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<ul id="leftMenu">              
        <li id="bx_1" class="shut"> Изделия из оргстекла </li>
        <ul style="display: none;">
            <li id="bx_2037796212_70" class="SECTION_ID=70">
            <a href="/test/test_menu/1/1_cennikoderzateli.php">Ценникодержатели</a>
            </li>
            <li id="bx_2037796212_71" class="SECTION_ID=71">
            <a href="/test/test_menu/1/2_gorki_pod_tovari.php">Горки под товары</a>
            </li>
        </ul>
        
        <li id="bx_2" class="shut"> Лазерная резка </li>
        <ul style="">
            <li id="bx_2037796212_109" class="SECTION_ID=109">
            <a href="/test/test_menu/2/1_lazernaia_rezka.php">Лазерная резка</a>
            </li>
            <li id="bx_2037796212_87" class="SECTION_ID=87">
            <a href="/test/test_menu/2/17_podsavki_pod_plastikovie_karti.php">Подставки под пластиковые карты </a>
            </li>
        </ul>
        
        <li id="bx_3" class="shut"> Изделия из оргстекла2 </li>
        <ul style="display: none;">
            <li id="bx_2037796212_70" class="SECTION_ID=70">
            <a href="/test/test_menu/3/1_cennikoderzateli.php">Ценникодержатели</a>
            </li>
            <li id="bx_2037796212_71" class="SECTION_ID=71">
            <a href="/test/test_menu/3/2_gorki_pod_tovari.php">Горки под товары</a>
            </li>
        </ul>
</ul>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.10.2013, 12:46
Помогаю со студенческими работами здесь

Приложение на C#, работающее c БД Oracle в 32-разрядном режиме Windows 7, не работает в 64-разрядном
До этого ни каких проблем не было. Приложение на C#, скомпилированное в режиме &quot;CPU ANY&quot;, и предназначенное для обработки БД...

web app, работающее под Tomcat, не работает под WebLogic
Есть web-приложение, работающее нормально под Tomcat. Осваиваясь с WebLogic, я решил развернуть его там. Развёртывание проводится...

Меню на jquery 1.3.2
Нашёл симпотичное меню http://webmaster-piter.ru/master_blog/61-delaem-animirovannoe-menyu-s-pomoshhyu-jquery.html, но появилась...

Меню jquery
Добрый, Задача: - при загрузке старницы меню должно свернуться через 10с. - Если на меню фокус (:hover) - оно не может свернуться, ...

трабл в меню на jQuery
есть такое меню: http://playground.adambecker.info/sweet-menu/ ну почти такое, текст и картинки другие :-) если посмотреть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru