dols4me Опубликовано 27 июня, 2016 Жалоба Поделиться Опубликовано 27 июня, 2016 Вопрос в теме. Беру bootstrap через CDN.Добавляю navbar не нравится версия jquery а именно метод live который необходим для правильной работы simpla.как поступить? Как их подружить?Что бы было понятно что именно не работает, dropdawn и все динамические эллементы.Заранее большое спасибо. Цитата Ссылка на сообщение Поделиться на другие сайты
Решение mishanya Опубликовано 27 июня, 2016 Решение Жалоба Поделиться Опубликовано 27 июня, 2016 все потому что ajax_cart.js использует метод live который является устаревшим для новых версий jQuery. вам нужно либо добавить jQuery Migrate для того чтобы поддерживался live, либо уйти от live и переписать ajax_cart.js Цитата Ссылка на сообщение Поделиться на другие сайты
ps-simpla Опубликовано 27 июня, 2016 Жалоба Поделиться Опубликовано 27 июня, 2016 Беретесь за bootstrap, а задаете такие вопросы...Мишаня, верно написал, только вот еще проблема возникнет в admintooltip.jsПереходите на новую версию jQuery c поправкой скриптов необходимые для работы клиентской частиВ некоторых случаях помогает замена .live на .on Цитата Ссылка на сообщение Поделиться на другие сайты
dols4me Опубликовано 27 июня, 2016 Автор Жалоба Поделиться Опубликовано 27 июня, 2016 все потому что ajax_cart.js использует метод live который является устаревшим для новых версий jQuery. вам нужно либо добавить jQuery Migrate для того чтобы поддерживался live, либо уйти от live и переписать ajax_cart.js Спасибо! Jquery migrate решил мою проблему хотя бы на время. Цитата Ссылка на сообщение Поделиться на другие сайты
osben Опубликовано 27 июня, 2016 Жалоба Поделиться Опубликовано 27 июня, 2016 еще маленький снипет по live => on if(!('live' in jQuery.fn)) { jQuery.fn.extend({ live: function (event, callback) { if (this.selector) { jQuery(document).on(event, this.selector, callback); } } }); } Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 27 июня, 2016 Жалоба Поделиться Опубликовано 27 июня, 2016 Я в джаваскрипте не мастер, но заметил, что live не всегда равнозначно on.Особенно при подгрузке аяксом. Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 18 августа, 2016 Жалоба Поделиться Опубликовано 18 августа, 2016 все потому что ajax_cart.js использует метод live который является устаревшим для новых версий jQuery. вам нужно либо добавить jQuery Migrate для того чтобы поддерживался live, либо уйти от live и переписать ajax_cart.js Не поможете с этим? не силен в .js. Вычитал, что нужно добавить аргумент в метод ".on" по типу $('form.variants').on('submit','.argument',function(e).... Что добавить вместо ".argument"? Или не все так просто? Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 18 августа, 2016 Жалоба Поделиться Опубликовано 18 августа, 2016 Что добавить вместо ".argument"? Или не все так просто? Попробуйте его вообще убрать $('form.variants').on('submit', function(e) Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 18 августа, 2016 Жалоба Поделиться Опубликовано 18 августа, 2016 Попробуйте его вообще убрать $('form.variants').on('submit', function(e) Если бы все так просто))) Не работает. Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 18 августа, 2016 Жалоба Поделиться Опубликовано 18 августа, 2016 (изменено) Если бы все так просто))) Не работает. адрес сайта скажите, или прикрепите файлы html/product.tpl и js/ajax_cart.js Изменено 18 августа, 2016 пользователем chocolate_moles Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 19 августа, 2016 Жалоба Поделиться Опубликовано 19 августа, 2016 адрес сайта скажите, или прикрепите файлы html/product.tpl и js/ajax_cart.jsproduct.tpl стандартный, еще не правился ajax_cart.js вот: $('form.variants').on('submit',function(e){e.preventDefault();button=$(this).find('input[type="submit"]');if($(this).find('input[name=variant]:checked').size()>0)variant=$(this).find('input[name=variant]:checked').val();if($(this).find('select[name=variant]').size()>0)variant=$(this).find('select').val();$.ajax({url:"ajax/cart.php",data:{variant:variant},dataType:'json',success:function(data){$('#cart_informer, #mobile_cart_informer').html(data);if(button.attr('data-result-text'))button.val(button.attr('data-result-text'));$.fancybox({href:'#cart_popup',title:'Корзина покупок','onStart':function(){$("#cart_popup").css("display","block");},'onClosed':function(){$("#cart_popup").css("display","none");}});}}); }); Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 19 августа, 2016 Жалоба Поделиться Опубликовано 19 августа, 2016 Все работало, на старом jQuery, понадобилось библиотеку 3.1 подключить, после неё перестали работать корзина и тултип. Тултип "починился" заменой .live на .on, а вот с корзиной не получается. Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 19 августа, 2016 Жалоба Поделиться Опубликовано 19 августа, 2016 (изменено) Поколупался, получилось так // Аяксовая корзина $(document).ready(function() { $('form.variants').submit (function(e) {e.preventDefault(); button=$(this).find('input[type="submit"]'); if($(this).find('input[name=variant]:checked'))variant=$(this).find('input[name=variant]:checked').val(); if($(this).find('select[name=variant]'))variant=$(this).find('select').val(); $.ajax({ url:"ajax/cart.php", data:{variant:variant}, dataType:'json',success:function(data){$('#cart_informer, #mobile_cart_informer').html(data); if(button.attr('data-result-text'))button.val(button.attr('data-result-text')); $.fancybox({href:'#cart_popup',title:'Корзина покупок','onStart':function(){$("#cart_popup").css("display","block");},'onClosed':function(){$("#cart_popup").css("display","none");}});}}); }); }); Тут правда с модулем всплывающей корзины. Работает на jQuery 3.1.0P.S. Тут удалена анимация перелета товара в корзину.P.P.S. Убрал .size()>0) Так как .size не рабтает в новой jQuery, .length которая пришла на смену тоже ошибку выдает, тут пусть знатоки подскажут чем это чревато))).size()>0) Изменено 19 августа, 2016 пользователем filth Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 19 августа, 2016 Жалоба Поделиться Опубликовано 19 августа, 2016 Вроде разобрался))) Правильней всего будет такой код для ajax_cart.js // Аяксовая корзина $(document).ready(function() { $('form.variants').submit (function(e) {e.preventDefault(); button=$(this).find('input[type="submit"]'); if($(this).find('select[name=variant]').length>0) variant=$(this).find('select').val(); if($(this).find('input[name=variant]:checked').length>0) variant=$(this).find('input[name=variant]:checked').val(); $.ajax({ url:"ajax/cart.php", data:{variant:variant}, dataType:'json',success:function(data){$('#cart_informer').html(data); if(button.attr('data-result-text'))button.val(button.attr('data-result-text')); }}); var o1 = $(this).offset(); var o2 = $('#cart_informer').offset(); var dx = o1.left - o2.left; var dy = o1.top - o2.top; var distance = Math.sqrt(dx * dx + dy * dy); $(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance); $('.transfer_class').html($(this).closest('.product').find('.image').html()); $('.transfer_class').find('img').css('height', '100%'); return false; }); }); Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.