AJAX загрузка блока при загрузке страницы
Всем привет!
Есть код, отвечающий за работу меню на мобильном В меню есть level2, который подгружается после клика по level1. Из-за чего нужно делать 2 клика: 1 чтобы подгрузить ul="level2"; и 2 чтобы отобразить его пользователю (используется Swipe plugin) Чтобы избежать лишнего клика, я хочу level2 загружать вместе со страницей, либо при нажатии на кнопку Меню (в этот момент выезжает меню с level1). Постарался подробно описать.. В JS не силен, делал методом тыка и гугла, успехом не увенчалось. Пробовал с помощью .ready результата 0.. Сайт otlg.ru Ниже код.. Весь код файла тут // 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(json) { // Need to set timeout otherwise it wont update the total setTimeout(function () { column = mobileMenu.parent().children().last(); txt = ''; $.each(json, 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(); }); } |
Часовой пояс GMT +3, время: 10:18. |