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

помогите с кодом!

29.09.2011, 18:04. Показов 992. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
нужно сделать раскрывающееся меню с помощью jQuery с запоминанием при перезагрузке страницы

я нашел такой код

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
<script type="text/javascript">
$(document).ready(function()
{
    $("#menupush p.menuh").click(function()
    {
        $(this).next("div.menu_conteiner").slideToggle(300).siblings("div.menu_conteiner").slideUp("slow");
        $(this).siblings();
    });
 
});
 
</script>
очень удобный скрипт, применятся для такого html

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
<body>
 
    <div class="menu_slider" id="menupush">
        <p class="menuh">Заголовок-1</p>
        <div class="menu_conteiner">
            <a href="index1.html">Подменю-1</a>
                <a href="#">Подменю-2</a>
                <a href="#">Подменю-3</a>    
        </div>
        <p class="menuh">Заголовок-2</p>
        <div class="menu_conteiner">
            <a href="#">Подменю-1</a>
                <a href="#">Подменю-2</a>
                <a href="#">Подменю-3</a>    
        </div>
        <p class="menuh">Заголовок-3</p>
        <div class="menu_conteiner">
                <a href="#">Подменю-1</a>
                <a href="#">Подменю-2</a>
                <a href="#">Подменю-3</a>            
        </div>
    </div>
 
 
 
</body>
там еще есть css, но оно к делу не имеет отношения

все нисего, но такой код не запоминает открытость меню при перезагрузке, а запомнить можно с помощью jquery.cookie.js

в сети нашел такой пример
JavaScript
1
2
3
4
5
6
function cookieSet(index) {
  $.cookie('submenuMark-' + index, 'opened', {expires: null, path: '/'});
}
function cookieDel(index) {
  $.cookie('submenuMark-' + index, null, {expires: null, path: '/'});
}
к этому коду есть свой пример меню, но мне нужно это все прикрутить именно к коду, который дан первым в этом топике. помогите сделать это, а то ради одного этого кода лопатить книжку по jQuery очень долго и все равно будет куча вопросов
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.09.2011, 18:04
Ответы с готовыми решениями:

Помогите разобраться с кодом на JavaScript
Доброго времени суток! Недавно встала необходимость понять, как работает блог sosblog.fr. И встал вопрос про JavaScript функцию. Сам я...

Помогите с кодом, простая фотогалерея
Добрый вечер! Есть скачанный с открытого доступа код фотогалереи, который я переделываю под сайт свой. Вот код: &lt;SCRIPT...

Калькулятор - помогите разобратся с кодом
здраствуйте. помогите разобратся с кодом. { var curReadOut = okno.value; if (NewNum) { curReadOut = &quot;0.&quot;; ...

6
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
29.09.2011, 19:33
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
$(function(){
    $("#menupush p.menuh").click(function(){
        
        // индекс открытого подменю
        var curr = $("#menupush p.menuh").index(this);
        
        $(this)
            .next("div.menu_conteiner")
            .slideDown(300)
            .siblings("div.menu_conteiner")
            .slideUp("slow");
        
        // устанавливаем дату годности куки
        var exp = new Date();
        exp.setDate(exp.getDate() + 30); // на 30 дней
        
        // записываем куку
        document.cookie = [
            'menu_item='+ curr,
            'expires='+exp.toUTCString(),
            'path=/'
        ].join(';');
        
    });
    
    // при загрузке:
    
    // получаем индекс подменю из куки или 0, если куки нет
    var curr = document.cookie.match(/^(.+;)?menu_item=(\d+)/)[2] || 0;
    
    // эмулируем клик по заголовку подменю с полученным индексом
    $.fx.off = true;  // анимация здесь не нужна
    if (curr) $("#menupush p.menuh").eq(curr).click();
    $.fx.off = false; // и включаем обратно
});
Добавлено через 1 минуту
фидль.
0
0 / 0 / 0
Регистрация: 06.08.2011
Сообщений: 36
29.09.2011, 19:59  [ТС]
спасибо, работает, но не совсем. если раскрыт первый пункт меню, то при перезагрузке он раскрыватся, а если раскрыт второй, то при перезагрузке он сначала раскрывается, потом сразу же закрывается и раскрывается последний, если добавить вниз еще пункты, то они так же сначала раскрыватся, тут же закрыватся и скрывается последний, как быть?
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
29.09.2011, 20:24
В фидле все работает как и ожидается (по крайней мере, у меня). Покажите ваш код.

Добавлено через 1 минуту
А. Кажется, понял. Вы мой код вставили рядом со своим, а надо вместо.
0
0 / 0 / 0
Регистрация: 06.08.2011
Сообщений: 36
29.09.2011, 20:49  [ТС]
я полностью заменил код
Вложения
Тип файла: rar accordion-menu.rar (17.1 Кб, 42 просмотров)
0
0 / 0 / 0
Регистрация: 06.08.2011
Сообщений: 36
29.09.2011, 21:43  [ТС]
вопрос снят, у мменя была старая версия jQuery
еще раз спасибо!
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
29.09.2011, 21:47
Ну вы, конечно, даете.. У вас jQuery слишком старый (версия 1.2.3), и в этой версии метод .eq() неверно воспринимает строковые аргументы.

Или скачайте более новый jQuery (рекомендую), или замените:
JavaScript
1
if (curr) $("#menupush p.menuh").eq(curr).click();
на:
JavaScript
1
if (curr) $("#menupush p.menuh").eq(parseInt(curr)).click();
Добавлено через 31 секунду
Опоздал немножко.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.09.2011, 21:47
Помогаю со студенческими работами здесь

Помогите с кодом JavaScript для доступа к Access.
Кто-нибудь...может занимался когда-нить сам или видел полезные урлы!! Помогите с кодом JavaScript для доступа к Access... хотябы строки...

Помогите с кодом
Такая задача Есть таблица (например в ней перечислены пользователи) есть промежуток времини (дата начала и дата конца) и нада с помощю...

Помогите с кодом
Всем доброго времени суток. Вот задали написать прогу для сравнения 3-х чисел введённых с клавиатуры, вроде всё нормально, только...

Помогите с кодом
вот у меня получился код: Private Sub Button1_Click() Dim Y As Double, Y(k-1) As Double, delta As Double Const e As Double = 0.05 ...

С кодом помогите
void __fastcall TForm1::Button1Click(TObject *Sender) { ffblk info = {0}; int result; if(! (result =...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru