Перейти к содержанию
Официальный форум поддержки Simpla

Bootstrap 3 и simpla как подружить?


Перейти к решению Решено mishanya,

Рекомендуемые сообщения

Вопрос в теме. 

Беру bootstrap через CDN.

Добавляю navbar не нравится версия jquery а именно метод live который необходим для правильной работы simpla.

как поступить? Как их подружить?

Что бы было понятно что именно не работает, dropdawn и все динамические эллементы.

Заранее большое спасибо.

Ссылка на сообщение
Поделиться на другие сайты
  • Решение

все потому что ajax_cart.js использует метод live который является устаревшим для новых версий jQuery. вам нужно либо добавить jQuery Migrate для того чтобы поддерживался live, либо уйти от live и переписать ajax_cart.js 

Ссылка на сообщение
Поделиться на другие сайты

Беретесь за bootstrap, а задаете такие вопросы...
Мишаня, верно написал, только вот еще проблема возникнет в admintooltip.js
Переходите на новую версию  jQuery c поправкой скриптов необходимые для работы клиентской части
В некоторых случаях помогает замена .live на .on

Ссылка на сообщение
Поделиться на другие сайты

все потому что ajax_cart.js использует метод live который является устаревшим для новых версий jQuery. вам нужно либо добавить jQuery Migrate для того чтобы поддерживался live, либо уйти от live и переписать ajax_cart.js 

Спасибо! Jquery migrate решил мою проблему хотя бы на время.

Ссылка на сообщение
Поделиться на другие сайты

еще маленький снипет по live => on 
 

	if(!('live' in jQuery.fn))
	{
		jQuery.fn.extend({
			live: function (event, callback) {
				if (this.selector) {
					jQuery(document).on(event, this.selector, callback);
				}
			}
		});
	}
Ссылка на сообщение
Поделиться на другие сайты

Я в джаваскрипте не мастер, но заметил, что live не всегда равнозначно on.

Особенно при подгрузке аяксом.

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

все потому что ajax_cart.js использует метод live который является устаревшим для новых версий jQuery. вам нужно либо добавить jQuery Migrate для того чтобы поддерживался live, либо уйти от live и переписать ajax_cart.js 

Не поможете с этим? не силен в .js. Вычитал, что нужно добавить аргумент в метод ".on" по типу 

$('form.variants').on('submit','.argument',function(e)....

Что добавить вместо ".argument"? Или не все так просто?

Ссылка на сообщение
Поделиться на другие сайты

Что добавить вместо ".argument"? Или не все так просто?

 

Попробуйте его вообще убрать

$('form.variants').on('submit', function(e)
Ссылка на сообщение
Поделиться на другие сайты

Если бы все так просто))) Не работает.

 

адрес сайта скажите, или прикрепите файлы html/product.tpl и js/ajax_cart.js

Изменено пользователем chocolate_moles
Ссылка на сообщение
Поделиться на другие сайты

адрес сайта скажите, или прикрепите файлы html/product.tpl и js/ajax_cart.js

product.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");}});}});

});
Ссылка на сообщение
Поделиться на другие сайты

Все работало, на старом jQuery, понадобилось библиотеку 3.1 подключить, после неё перестали работать корзина и тултип. Тултип "починился" заменой .live на .on, а вот с корзиной не получается.

Ссылка на сообщение
Поделиться на другие сайты

Поколупался, получилось так

// Аяксовая корзина
$(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.0

P.S. Тут удалена анимация перелета товара в корзину.

P.P.S. Убрал 

.size()>0) 

 

Так как .size не рабтает в новой jQuery, .length которая пришла на смену тоже ошибку выдает, тут пусть знатоки подскажут чем это чревато)))

.size()>0)
Изменено пользователем filth
Ссылка на сообщение
Поделиться на другие сайты

Вроде разобрался))) Правильней всего будет такой код для 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;
});
});
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...