Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 1
Регистрация: 12.06.2015
Сообщений: 50

AJAX загрузка блока при загрузке страницы

08.05.2017, 10:53. Показов 1618. Ответов 0

Студворк — интернет-сервис помощи студентам
Всем привет!

Есть код, отвечающий за работу меню на мобильном
В меню есть level2, который подгружается после клика по level1. Из-за чего нужно делать 2 клика: 1 чтобы подгрузить ul="level2"; и 2 чтобы отобразить его пользователю (используется Swipe plugin)
Чтобы избежать лишнего клика, я хочу level2 загружать вместе со страницей, либо при нажатии на кнопку Меню (в этот момент выезжает меню с level1). Постарался подробно описать.. В JS не силен, делал методом тыка и гугла, успехом не увенчалось. Пробовал с помощью .ready результата 0..
Сайт otlg.ru
Ниже код.. Весь код файла тут
Показать код

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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// Left menu
    if(Modernizr.touch){
        var leftcatalog = new Swiper('.menublock', {
            prevButton: '.menublock .backlink a',
            spaceBetween: 0,
            slidesPerView: 1,
            // disable touch slide
                simulateTouch: false,
                shortSwipes: false,
                longSwipes: false,
                followFinger: false,
        });
 
        // LEVEL1 BRANCH
 
        $(document).on('click','.leftside .level1 .branch',function(e){
            // GET LEVEL2 CAPTION
            var caption = $(this).text();
 
 
            leftcatalog.slideTo(1);
 
 
            //...
            // AJAX QUERY ?
            mobileMenu = $('.menublock .level1');
            id = $(this).data('id');
            lvl = $(this).data('lvl');
            if (!id) {console.log('error'); return false}
            $(this).parents('.level'+lvl).nextAll().remove();
            $.ajax({
                url: 'index.php?route=api/menu',
                type: 'get',
                data: 'id=' + id,
                dataType: 'json',
                beforeSend: function() {
                    mobileMenu.parent().append('<ul class="level'+(++lvl)+' swiper-slide"><li class="backlink"><a href="#" data-gotostep="'+(--lvl)+'">Назад</a></li><li class="title"><a></a></li></ul>');
                },
                success: function(<span class="highlight">json</span>) {
                    // Need to set timeout otherwise it wont update the total
                    setTimeout(function () {
                        column = mobileMenu.parent().children().last();
                        txt = '';
                        $.each(<span class="highlight">json</span>, function(index, value){
                            txt += '<li><a href="'+value['link']+'" data-id='+value['id']+' data-lvl="'+(++lvl)+'">'+value['name']+'</a></li>'
                        });
                        column.html(column.html() + txt);
                    }, 100);
                    $('.level'+(++lvl)+' .title').text(caption);
                    setTimeout(function () {
                        leftcatalog.update();
                        leftcatalog.attachEvents();
                    }, 100);
                    leftcatalog.slideNext();
                },
                error: function(xhr, ajaxOptions, thrownError) {
                        alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
                }
            });
            //...
 
            e.preventDefault();
        });
 
        // LEVEL2 BRANCH
 
        $(document).on('click','.leftside .level2 .branch',function(e){
            leftcatalog.slideTo(2);
 
 
 
            //...
            // AJAX QUERY ?
            //...
 
            e.preventDefault();
        });
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.05.2017, 10:53
Ответы с готовыми решениями:

Поднятие блока при загрузке страницы
Добрый день. Есть меню с id=&quot;menu&quot; position:fixed, top:50px, нужно чтобы при загрузке страницы оно медленно поднималось вверх до top:0,...

При загрузке HTML страницы с $.ajax(url).done нет некоторых данных
Здравствуйте, пишу собственный проект по ставкам и мне нужно вытащить с этого сайта &quot;https://betscsgo.com/&quot; все элементы с тегом...

Выполнение php-кода через ajax jQuery сразу при загрузке страницы.
Все доброго времени суток, с JS вообще не знаком, только поверхностно, сразу обязан предупредить подобные темы искал, но так и не нашел,...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.05.2017, 10:53
Помогаю со студенческими работами здесь

Загрузка определенных блоков при загрузке страницы | Для гуру JS
Можно ли с помощью js сделать так, чтобы при открытии страницы загружались лишь ОПРЕДЕЛЕННЫЕ БЛОКИ и ОПРЕДЕЛЕННЫЕ СКРИПТЫ!!!

Ajax загрузка формы из загруженного через ajax блока
Вообщем, через ajax в блок подгружается форма, из нее нужно загрузить в этот же блок др.контент. $('#form').submit(function(e){ ...

Обновление ajax запроса через определённое время а не только при загрузке (перезагрузке страницы)
Проблема такая есть ajax запрос $.ajax({ type: &quot;POST&quot;, url: &quot;o.php&quot;, dataType: &quot;json&quot;, success: function(data) { ...

Ajax загрузка блока
Может кто-нибудь помочь? Есть такой скрипт: $(document).on('click', '.link', function(e){ e.preventDefault(); ...

Загрузка данных из функции php, вызываемая ajax при открытии/обновлении страницы
как можно с помощью javascript ajax вызывать функцию из файла .php когда отрывается страница (без перезагрузки)?


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
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
/ * Дана цепь постоянного тока с 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/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru