|
|
Модератор форума: Yuri_G |
Сообщество uCoz » Модули uCoz » Интернет-магазин » Анимация (кнопка положить в корзину) (Отсутствует анимация) |
Анимация (кнопка положить в корзину) |
Здравствуйте!
ССЫЛКО: http://forsmark.ucoz.ru/shop ПРОБЛЕМА: Нет анимации при нажатие на кнопку "В корзину" КОД КНОПКИ: Код <a href="javascript://" onclick="add2Basket('$ID$','id'); " class="shrink color2"><i aria-hidden="true" class="icon-shop"></i></a> КОД КОРЗИНЫ: Код <?if($NUM_ENTRIES$)?> <a class="basketorder" href="/shop/checkout">$NUM_ENTRIES$ шт. на $ORDER_AMOUNT$</a><a href="javascript:;" onclick="clearBasket()">Очистить</a> <?else?> <a href="#"><i aria-hidden="true" class="icon-shop" style="font-size:20px;margin:5px;padding-top:5px;"></i>Корзина пуста</a> <?endif?> <script language="Javascript"><!-- var lock_buttons = 0; function clearBasket(){ if(lock_buttons) return false; else lock_buttons = 1; var el = $('#shop-basket'); if(el.length){ var g=document.createElement("div"); $(g).addClass('myWinGrid').attr("id",'shop-basket-fade').css({"left":"0","top":"0","position":"absolute","border":"#CCCCCC 1px solid","width":$(el).width()+'px',"height":$(el).height()+'px',"z-index":5};).hide().bind('mousedown',function(e){e.stopPropagation();e.preventDefault();_uWnd.globalmousedown();};).html('<div class="myWinLoad" style="margin:5px;"></div>'); $(el).append(g); $(g).show(); } _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'clear'}};); return false; } function removeBasket(id){ if(lock_buttons) return false; else lock_buttons = 1; $('#basket-item-'+id+' .sb-func').removeClass('remove').addClass('myWinLoadS').attr('title',''); _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'del', 'id':id}};); return false; } function add2Basket(id,pref){ if(lock_buttons) return false; else lock_buttons = 1; var opt = new Array(); $('#b'+pref+'-'+id+'-basket').attr('disabled','disabled'); $('#'+pref+'-'+id+'-basket').removeClass('done').removeClass('err').removeClass('add').addClass('wait').attr('title',''); $('#'+pref+'-'+id+'-options-selectors').find('input:checked, select').each(function(){ opt.push(this.id.split('-')[3]+(parseInt(this.value) ? '-'+this.value :''));};); _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'add', 'id':id, 'pref':pref, 'opt':opt.join(':'), 'cnt':$('#q'+pref+'-'+id+'-basket').attr('value')}};); return false; } function buyNow(id,pref){ if(lock_buttons) return false; else lock_buttons = 1; var opt = new Array(); $('#b'+pref+'-'+id+'-buynow').attr('disabled','disabled'); $('#'+pref+'-'+id+'-buynow').removeClass('done').removeClass('err').removeClass('now').addClass('wait').attr('title',''); $('#'+pref+'-'+id+'-options').find('input:checked, select').each(function(){ opt.push(this.id.split('-')[3]+(parseInt(this.value) ? '-'+this.value :''));};); _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'add', 'id':id, 'pref':pref, 'opt':opt.join(':'), 'cnt':$('#q'+pref+'-'+id+'-basket').attr('value'), 'now':1}};); return false; } //--></script> Добавлено (09 Окт 2014, 12:18:16) --------------------------------------------- Подобный вопрос поднимался не раз на разных формумах. Вот что нашел: Цитата Помогите настроить свою кнопку "В корзину". Пишу ссылку <a onclick="add2Basket('$ID$','id');" class="buy" style="color:#fff;cursor:pointer;">В корзину</a>. В корзину добавляет, но только после обновления страницы, и нет визуального эффекта. Как правильно ссылку прописать? Цитата Сам спросил, сам решил. Использовал <div class="buy" onclick="add2Basket('$ID$','top_view');" title="В корзину" style="color:#fff;cursor:pointer;">В корзину</div> Пробовал повторить. не вышло... Добавлено (09 Окт 2014, 12:32:07) --------------------------------------------- Хм))) Как и тот человек, нашел решение тоже сам. В общем смотрите, кнопка с кодом: Цитата <a href="javascript://" onclick="add2Basket('$ID$','id');">В корзину</a> Заметил что в разных случиях пишут по разному и параметр id иногда пишут как last_add То есть вот так: Цитата <a href="javascript://" onclick="add2Basket('$ID$','last_add');">В корзину</a> В чем разница так и не понял Что бы анимация проходила, и товар добавлялся в корзину без обновления страницы взял id="ipreview" и вставил в главный <div> отвечающий за вид товара. Как я понял, id="ipreview" нужно присвоить блоку - который хотим анимировано отправить в корзину. Единственное что осталось до сих пор не понятно, это то, что при двойном, тройном, четверном, клике на кнопку в корзину, в корзине изменяется цена +1 товар с кликом, НО: количество остается 1 шт. Придется ковырять скрипт: Код function add2Basket(id,pref){ if(lock_buttons) return false; else lock_buttons = 1; var opt = new Array(); $('#b'+pref+'-'+id+'-basket').attr('disabled','disabled'); $('#'+pref+'-'+id+'-basket').removeClass('done').removeClass('err').removeClass('add').addClass('wait').attr('title',''); $('#'+pref+'-'+id+'-options-selectors').find('input:checked, select').each(function(){ opt.push(this.id.split('-')[3]+(parseInt(this.value) ? '-'+this.value :''));};); _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'add', 'id':id, 'pref':pref, 'opt':opt.join(':'), 'cnt':$('#q'+pref+'-'+id+'-basket').attr('value')}};); return false; } P.S. Данная тема уже проиндексировалась поисковиком! Модеры поменяйте описание темы, допишите: "add2Basket" - чтобы через поисковики можно было найти. Так будет проще =) Добавлено (09 Окт 2014, 12:41:42) --------------------------------------------- ДОЧИТАЙТЕ: Заметил что был не прав на счет того, что Цитата Как я понял, id="ipreview" нужно присвоить блоку - который хотим анимировано отправить в корзину. Он отсылает (no-img) советую присвоить этот код id="ipreview" для изображения, тогда в корзину анимированно полетит изображение. В моем случае его просто нету, поэтому присваивал блоку. Добавлено (09 Окт 2014, 12:47:28) --------------------------------------------- И снова вижу что-то не так. Цитата Единственное что осталось до сих пор не понятно, это то, что при двойном, тройном, четверном, клике на кнопку в корзину, в корзине изменяется цена +1 товар с кликом, НО: количество остается 1 шт. Придется ковырять скрипт: Не нужно ковырять скрипт))) В настройках вида корзины строчку Цитата <a class="basketorder" href="/shop/checkout">$NUM_ENTRIES$ шт. на $ORDER_AMOUNT$</a><a href="javascript:;" onclick="clearBasket()">Очистить</a> Меняем вот этим кодом $ORDER_NUM$ - суммарное количество товарных позиций в заказе Цитата <a class="basketorder" href="/shop/checkout">$ORDER_NUM$ шт. на $ORDER_AMOUNT$</a><a href="javascript:;" onclick="clearBasket()">Очистить</a> Что приводит к нормализации добавления товара и выводимого количества товаров в корзине. Люди дающие ссылку на свой сайт сразу, попадают в рай в не очереди
Сообщение отредактировал NurHasber - Четверг, 09 Окт 2014, 12:51:38
|
| |||
| |||