Товар не летит в корзину Есть решение

Уважаемый форумчане прошу помощи.

На сайте stroy-vibor. ru/category/tarpaulin/ (пробел после точки убрать), есть две корзины одна статическая под менюшкой (назовем ее крз1), вторая всплывает когда прокручиваешь (крз2).

Когда нажимаешь на кнопку добавить в корзину, страница открыта без прокрутки то товар улетает в левый верхний угол, когда прокрутишь экран что бы вылезла крз2 и нажмешь кнопку добавить в корзину то товар летит в корзину крз2.

Не могу понять как сделать что бы в первом варианте товар летел в крз1

В каком файле скрипт обрабатывает этот полет? в default.shop.js или product.js и где именно копать?

8 ответов

  • 2
    Leva 7 октября 2016 16:47 # Решение
    Так и в итоге выложу че получилось, может кому понадобиться

    файл default.shop.js

    // flying cart
                        var origin = f.closest('li');
                        var block = $('<div>gggg</div>').append(origin.html());
                        if($('#menutt').hasClass('fixed')){var cart_positon = $('.cart-countsmall')}else{var cart_positon = $('.cart-count2')};
                        block.css({
                            'z-index': 100500,
                            background: '#fff',
                            top: origin.offset().top,
                            left: origin.offset().left,
                            width: origin.width()+'px',
                            height: origin.height()+'px',
                            position: 'absolute',
                            overflow: 'hidden'
                        }).appendTo('body').css({'border':'2px solid #eee','padding':'20px','background':'#fff'}).animate({
                                top: cart_positon.offset().top,
                                left: cart_positon.offset().left,
                                width: '10px',
                                height: '10px',
                                opacity: 0.7
                        }, 700, function() {
                            $(this).remove();
                            cart_total.html(response.data.total);
                            $('.cart-count').html(response.data.count);
                            $('#cart-content').append($('<div class="cart-just-added"></div>').html(f.find('span.added2cart').text()));
                           // if ($('#cart').hasClass('fixed'))//
                            $('.cart-to-checkout').show();
                        });
                    }
                } else if (response.status == 'fail') {
                    alert(response.errors);
                }
    
            }, "json");
            return false;
        });

    файл product.js


    // flying cart
                        var clone = $('<div class="cart"></div>').append(f.clone());
    																				if($('#menutt').hasClass('fixed')){var cart_positon = $('.cart-countsmall')}else{var cart_positon = $('.cart-count2')};
                        clone.appendTo('body');
                        clone.css({
                            'z-index': 100500,
                            background: cart_div.closest('.dialog').length ? '#fff' : cart_div.parent().css('background'),
                            top: cart_div.offset().top,
                            left: cart_div.offset().left,
                            width: cart_div.width() + 'px',
                            height: cart_div.height() + 'px',
                            position: 'absolute',
                            overflow: 'hidden'
                        }).css({'border':'2px solid #eee','padding':'20px','background':'#fff'}).animate({
                            top: cart_positon.offset().top,
                            left: cart_positon.offset().left,
                            width: '10px',
                            height: '10px',
                            opacity: 0.7
                        }, 600, function () {
                            $(this).remove();
                            cart_total.html(response.data.total);
    						$(".cart-count").html(response.data.count);
    						$('#cart-content').append($('<div class="cart-just-added"></div>').html(self.add2cart.find('span.added2cart').text()));
                            if ($('#cart').hasClass('fixed'))
                                $('.cart-to-checkout').slideDown(200);
                        });
                        if (cart_div.closest('.dialog').length) {
                            cart_div.closest('.dialog').hide().find('.cart').empty();
                        }
    
                    }
  • 1

    ищи в файле default.shop.js

    текст // flying cart

    там формируется полет товара

    как вариант у тебя контейнер .cart-total переделан из-за этого координаты у него стали по всей ширине...

    • +1
      Leva Leva 5 октября 2016 16:22 #

      а что не так с .cart-total ? может я уже туплю )))

      Этот код я нашел в default.shop.js вот он ниже, что в нем не так я не пойму


      // flying cart
                          var origin = f.closest('li');
                          var block = $('<div></div>').append(origin.html());
                          block.css({
                              'z-index': 100500,
                              background: '#fff',
                              top: origin.offset().top,
                              left: origin.offset().left,
                              width: origin.width()+'px',
                              height: origin.height()+'px',
                              position: 'absolute',
                              overflow: 'hidden'
                          }).appendTo('body').css({'border':'2px solid #eee','padding':'20px','background':'#fff'}).animate({
                              top: cart_total.offset().top,
                              left: cart_total.offset().left,
                              width: '10px',
                              height: '10px',
                              opacity: 0.7
                          }, 700, function() {
                              $(this).remove();
                              cart_total.html(response.data.total);
      						$('.cart-count').html(response.data.count);
                              $('#cart-content').append($('<div class="cart-just-added"></div>').html(f.find('span.added2cart').text()));
                              if ($('#cart').hasClass('fixed'))
                                  $('.cart-to-checkout').show();
                          });
                      }
                  } else if (response.status == 'fail') {
                      alert(response.errors);
                  }
      
              }, "json");
              return false;
          });
      
      • +2

        видимо на странице присутствует 2 элемента с классом .cart-total позиция которого - это точка в которую летити продукт. Из за этого и бага. Лучше использовать одну корзину и фиксировать ее при прокрутке, чем создавать ее клон.

        • +1
          Leva Leva 6 октября 2016 15:05 #

          Это 100% из за этого, спасибо! теперь надо понять как все это обыграть, можно фиксить только пересчет суммы, фиксить всю корзину не выйдет, может у кого и выйдет но я не такой мастер ))

          • +1

            .cart-total не нужно фиксировать, это просто так сказать таргет, к которому летит товар, достаточно зафиксировать корзину, для этого есть специальные jquery библиотеки (погуглите) с помощью которых можно добавить класс к нужному элементу, когда он покидает видимую область, что и позволит зафиксировать корзину на нужной вам позиции при прокрутке.

            • +1
              Leva Leva 6 октября 2016 15:28 #

              Это понятно, просто основная корзина одного размера, в выпадающей менюшке другой размер.

              Выпадающее меню сразу показывается как начинаешь крутить и надо пикселей 200 прокрутить что бы корзина прилипла

              В общем это как то не эстетично выглядит.

              Скажите а может скипт поменять т.е добавить .cart-total1 например и пусть один пересчитывает большую корзину .cart-total , а малую .cart-total1

              • +1

                Можно и так, создать в js еще одну переменную - var cart_total2 = $(".cart-total2") и использовать ее офсеты для посадки товара в нужную корзину. У Вас в блоке id="menutt" при прокрутке класс defaul сменятся на fixed transbg , можете добавить if на проверку - если $( "#menutt" ).hasClass( "fixed" ) - и в таком случае:

                .appendTo('body').css({'border':'2px solid #eee','padding':'20px','background':'#fff'}).animate({
                                        top: cart_total2.offset().top,
                                        left: cart_total2.offset().left,
                                        width: '10px',
                                        height: '10px',
                                        opacity: 0.7
                                    }
                • +1
                  Leva Leva 6 октября 2016 16:17 #

                  Что то не фурычит, что то не так сделал? я только учусь не судите строго

                  $(document).ready(function () {
                  
                      //SLIDERS
                      $('.homepage-bxslider').bxSlider( { auto : $('.homepage-bxslider li').length > 1, pause : 5000, autoHover : true, pager: $('.homepage-bxslider li').length > 1 });
                      $('.homepage-bxslider').css('height','auto');
                      $('.related-bxslider').bxSlider( { minSlides: 1, maxSlides: 4, slideWidth: 150, slideMargin: 10, infiniteLoop: true, pager: false });
                  
                      // SIDEBAR HEADER click (smartphones only)
                      if ( (!!('ontouchstart' in window)) && MatchMedia("only screen and (max-width: 760px)") ) {
                          $('.nav-sidebar-body').css('opacity',1);
                          $('.nav-sidebar-body').hide();
                          $('a.nav-sidebar-header').click(function(){
                              {
                                  $('.nav-sidebar-body').slideToggle(200);
                                  return false;
                              }
                          });
                      }
                  
                      //CART dialog for multi-SKU products
                      $('.dialog').on('click', 'a.dialog-close', function () {
                          $(this).closest('.dialog').hide().find('.cart').empty();
                          return false;
                      });
                      $(document).keyup(function(e) {
                          if (e.keyCode == 27) {
                              $(".dialog:visible").hide().find('.cart').empty();
                          }
                      });
                  
                      // COMPARE
                      $(".container").on('click', '.product-list a.compare', function () {
                          var compare = $.cookie('shop_compare');
                          $.cookie('shop_compare', compare, { expires: 30, path: '/'});
                  
                          if (!$(this).find('i').hasClass('active')) {
                              if (compare) {
                                  compare += ',' + $(this).data('product');
                              } else {
                                  compare = '' + $(this).data('product');
                              }
                              if (compare.split(',').length > 0) {
                                  if (!$('#compare-leash').is(":visible")) {
                                      $('#compare-leash').css('height', 0).show().animate({height: 39},function(){
                                          var _blinked = 0;
                                          setInterval(function(){
                                              if (_blinked < 4)
                                                  $("#compare-leash a").toggleClass("just-added");
                                              _blinked++;
                                           },500);
                                      });
                                  }
                                  var url = $("#compare-leash a").attr('href').replace(/compare\/.*$/, 'compare/' + compare + '/');
                                  $('#compare-leash a').attr('href', url).show().find('strong').html(compare.split(',').length);
                              } else {
                                  $('#compare-leash').hide();
                              }
                              $.cookie('shop_compare', compare, { expires: 30, path: '/'});
                          } else {
                              if (compare) {
                                  compare = compare.split(',');
                              } else {
                                  compare = [];
                              }
                              var i = $.inArray($(this).data('product') + '', compare);
                              if (i != -1) {
                                  compare.splice(i, 1)
                              }
                              if (compare.length > 0) {
                                  $.cookie('shop_compare', compare.join(','), { expires: 30, path: '/'});
                                  var url = $("#compare-leash a").attr('href').replace(/compare\/.*$/, 'compare/' + compare.join(',') + '/');
                                  $('#compare-leash a').attr('href', url).show().find('strong').html(compare.length);
                              } else {
                                  $('#compare-leash').hide();
                                  $.cookie('shop_compare', null, {path: '/'});
                              }
                          }
                          $(this).find('i').toggleClass('active');
                          return false;
                      });
                  				
                  
                      //ADD TO CART
                      $(".container").on('submit', '.product-list form.addtocart', function () {
                          var f = $(this);
                          f.find('.adding2cart').addClass('icon16 loading').show();
                          if (f.data('url')) {
                              var d = $('#dialog');
                              var c = d.find('.cart');
                              c.load(f.data('url'), function () {
                                  f.find('.adding2cart').hide();
                                  c.prepend('<a href="#" class="dialog-close">×</a>');
                                  d.show();
                                  if ((c.height() > c.find('form').height())) {
                                      c.css('bottom', 'auto');
                                  } else {
                                      c.css('bottom', '15%');
                                  }
                              });
                              return false;
                          }
                          $.post(f.attr('action') + '?html=1', f.serialize(), function (response) {
                              f.find('.adding2cart').hide();
                              
                              if (response.status == 'ok') {
                                  
                                  var cart_total = $(".cart-total");
                  																var cart_total2 = $(".cart-total2");
                                  cart_total.closest('#cart').removeClass('empty');
                                  if( $(window).scrollTop() >= 110 )
                                      $('#cart').addClass('fixed');
                  																				$('#menutt').hasClass('fixed');
                  
                                  if ( MatchMedia("only screen and (max-width: 760px)") ) {
                                  
                                      // mobile: show "added to cart" message
                                      f.find('input[type="submit"]').hide();
                                      f.find('.price').hide();
                                      f.find('span.added2cart').show();
                                      cart_total.html(response.data.total);
                  					$('.cart-count').html(response.data.count);
                                      $('#cart-content').append($('<div class="cart-just-added"></div>').html(f.find('span.added2cart').text()));
                                      if ($('#cart').hasClass('fixed'))
                  																				   ($('#menutt').hasClass('fixed'))
                                          $('.cart-to-checkout').hide();
                                  } else {
                                  
                                      // flying cart
                                      var origin = f.closest('li');
                                      var block = $('<div></div>').append(origin.html());
                                      block.css({
                                          'z-index': 100500,
                                          background: '#fff',
                                          top: origin.offset().top,
                                          left: origin.offset().left,
                  																								top: cart_total2.offset().top,
                                          left: cart_total2.offset().left,
                                          width: origin.width()+'px',
                                          height: origin.height()+'px',
                                          position: 'absolute',
                                          overflow: 'hidden'
                                      }).appendTo('body').css({'border':'2px solid #eee','padding':'20px','background':'#fff'}).animate({
                                          top: cart_total.offset().top,
                                          left: cart_total.offset().left,
                                          width: '10px',
                                          height: '10px',
                                          opacity: 0.7
                                      }, 700, function() {
                                          $(this).remove();
                                          cart_total.html(response.data.total);
                  						$('.cart-count').html(response.data.count);
                                          $('#cart-content').append($('<div class="cart-just-added"></div>').html(f.find('span.added2cart').text()));
                                          if ($('#cart').hasClass('fixed'))
                  																								   ($('#menutt').hasClass('fixed'))
                                              $('.cart-to-checkout').show();
                                      });
                                  }
                              } else if (response.status == 'fail') {
                                  alert(response.errors);
                              }
                  
                          }, "json");
                          return false;
                      });
                  
                  
                      //PRODUCT FILTERING
                      var f = function () {
                  
                          var ajax_form_callback = function (f) {
                              var fields = f.serializeArray();
                              var params = [];
                              for (var i = 0; i < fields.length; i++) {
                                  if (fields[i].value !== '') {
                                      params.push(fields[i].name + '=' + fields[i].value);
                                  }
                              }
                              var url = '?' + params.join('&');
                              $(window).lazyLoad && $(window).lazyLoad('sleep');
                              $('#product-list').html('<img src="' + f.data('loading') + '">');
                              $.get(url+'&_=_', function(html) {
                                  var tmp = $('<div></div>').html(html);
                                  $('#product-list').html(tmp.find('#product-list').html());
                                  if (!!(history.pushState && history.state !== undefined)) {
                                      window.history.pushState({}, '', url);
                                  }
                                  $(window).lazyLoad && $(window).lazyLoad('reload');
                              });
                          };
                  
                          $('.filters.ajax form input').change(function () {
                              ajax_form_callback($(this).closest('form'));
                          });
                          $('.filters.ajax form').submit(function () {
                              ajax_form_callback($(this));
                              return false;
                          });
                  
                          $('.filters .slider').each(function () {
                              if (!$(this).find('.filter-slider').length) {
                                  $(this).append('<div class="filter-slider"></div>');
                              } else {
                                  return;
                              }
                              var min = $(this).find('.min');
                              var max = $(this).find('.max');
                              var min_value = parseFloat(min.attr('placeholder'));
                              var max_value = parseFloat(max.attr('placeholder'));
                              var step = 1;
                              var slider = $(this).find('.filter-slider');
                              if (slider.data('step')) {
                                  step = parseFloat(slider.data('step'));
                              } else {
                                  var diff = max_value - min_value;
                                  if (Math.round(min_value) != min_value || Math.round(max_value) != max_value) {
                                      step = diff / 10;
                                      var tmp = 0;
                                      while (step < 1) {
                                          step *= 10;
                                          tmp += 1;
                                      }
                                      step = Math.pow(10, -tmp);
                                      tmp = Math.round(100000 * Math.abs(Math.round(min_value) - min_value)) / 100000;
                                      if (tmp && tmp < step) {
                                          step = tmp;
                                      }
                                      tmp = Math.round(100000 * Math.abs(Math.round(max_value) - max_value)) / 100000;
                                      if (tmp && tmp < step) {
                                          step = tmp;
                                      }
                                  }
                              }
                              slider.slider({
                                  range: true,
                                  min: parseFloat(min.attr('placeholder')),
                                  max: parseFloat(max.attr('placeholder')),
                                  step: step,
                                  values: [parseFloat(min.val().length ? min.val() : min.attr('placeholder')),
                                      parseFloat(max.val().length ? max.val() : max.attr('placeholder'))],
                                  slide: function( event, ui ) {
                                      var v = ui.values[0] == $(this).slider('option', 'min') ? '' : ui.values[0];
                                      min.val(v);
                                      v = ui.values[1] == $(this).slider('option', 'max') ? '' : ui.values[1];
                                      max.val(v);
                                  },
                                  stop: function (event, ui) {
                                      min.change();
                                  }
                              });
                              min.add(max).change(function () {
                                  var v_min =  min.val() === '' ? slider.slider('option', 'min') : parseFloat(min.val());
                                  var v_max = max.val() === '' ? slider.slider('option', 'max') : parseFloat(max.val());
                                  if (v_max >= v_min) {
                                      slider.slider('option', 'values', [v_min, v_max]);
                                  }
                              });
                          });
                      };
                      f();
                      
                      //SLIDEMENU sidebar navigation
                      $('.slidemenu')
                          .on('afterLoadDone.waSlideMenu', function () {
                              f();
                              $('img').retina();
                              $(window).lazyLoad && $(window).lazyLoad('reload');
                          })
                          .on('onLatestClick.waSlideMenu', function () {
                              if ( (!!('ontouchstart' in window)) && ( MatchMedia("only screen and (max-width: 760px)") ) ) {
                                  $('.nav-sidebar-body').slideUp(200);
                              }
                          });
                  
                      //LAZYLOADING
                      if ($.fn.lazyLoad) {
                          var paging = $('.lazyloading-paging');
                          if (!paging.length) {
                              return;
                          }
                  
                          var times = parseInt(paging.data('times'), 10);
                          var link_text = paging.data('linkText') || 'Load more';
                          var loading_str = paging.data('loading-str') || 'Loading...';
                  
                          // check need to initialize lazy-loading
                          var current = paging.find('li.selected');
                          if (current.children('a').text() != '1') {
                              return;
                          }
                          paging.hide();
                          var win = $(window);
                  
                          // prevent previous launched lazy-loading
                          win.lazyLoad('stop');
                  
                          // check need to initialize lazy-loading
                          var next = current.next();
                          if (next.length) {
                              win.lazyLoad({
                                  container: '#product-list .product-list',
                                  load: function () {
                                      win.lazyLoad('sleep');
                  
                                      var paging = $('.lazyloading-paging').hide();
                  
                                      // determine actual current and next item for getting actual url
                                      var current = paging.find('li.selected');
                                      var next = current.next();
                                      var url = next.find('a').attr('href');
                                      if (!url) {
                                          win.lazyLoad('stop');
                                          return;
                                      }
                  
                                      var product_list = $('#product-list .product-list');
                                      var loading = paging.parent().find('.loading').parent();
                                      if (!loading.length) {
                                          loading = $('<div><i class="icon16 loading"></i>'+loading_str+'</div>').insertBefore(paging);
                                      }
                  
                                      loading.show();
                                      $.get(url, function (html) {
                                          var tmp = $('<div></div>').html(html);
                                          if ($.Retina) {
                                              tmp.find('#product-list .product-list img').retina();
                                          }
                                          product_list.append(tmp.find('#product-list .product-list').children());
                                          var tmp_paging = tmp.find('.lazyloading-paging').hide();
                                          paging.replaceWith(tmp_paging);
                                          paging = tmp_paging;
                  
                                          times -= 1;
                  
                                          // check need to stop lazy-loading
                                          var current = paging.find('li.selected');
                                          var next = current.next();
                                          if (next.length) {
                                              if (!isNaN(times) && times <= 0) {
                                                  win.lazyLoad('sleep');
                                                  if (!$('.lazyloading-load-more').length) {
                                                      $('<a href="#" class="lazyloading-load-more">' + link_text + '</a>').insertAfter(paging)
                                                          .click(function () {
                                                              loading.show();
                                                              times = 1;      // one more time
                                                              win.lazyLoad('wake');
                                                              win.lazyLoad('force');
                                                              return false;
                                                          });
                                                  }
                                              } else {
                                                  win.lazyLoad('wake');
                                              }
                                          } else {
                                              win.lazyLoad('stop');
                                              $('.lazyloading-load-more').hide();
                                          }
                  
                                          loading.hide();
                                          tmp.remove();
                                      });
                                  }
                              });
                          }
                      }
                  
                  });
                  • +1
                    Leva Leva 6 октября 2016 16:46 #

                    Чето весь код зацепил

                    Вот добавил все полетело туда куда надо только верхнее меюшка не пересчитывает сумму


                    // flying cart
                                        var origin = f.closest('li');
                                        var block = $('<div></div>').append(origin.html());
                                        block.css({
                                            'z-index': 100500,
                                            background: '#fff',
                                            top: origin.offset().top,
                                            left: origin.offset().left,
                                            width: origin.width()+'px',
                                            height: origin.height()+'px',
                                            position: 'absolute',
                                            overflow: 'hidden'
                                        }).appendTo('body').css({'border':'2px solid #eee','padding':'20px','background':'#fff'}).animate({
                                            top: cart_total.offset().top,
                                            left: cart_total.offset().left,
                    			top: cart_total2.offset().top,
                                            left: cart_total2.offset().left,
                                            width: '10px',
                                            height: '10px',
                                            opacity: 0.7
                                        }, 700, function() {
                                            $(this).remove();
                                            cart_total.html(response.data.total);
                    						$('.cart-count').html(response.data.count);
                                            $('#cart-content').append($('<div class="cart-just-added"></div>').html(f.find('span.added2cart').text()));
                                            if ($('#cart').hasClass('fixed'))
                    			   ($('#cart2').hasClass('fixed'))
                                                $('.cart-to-checkout').show();
                                        });
                                    }
                                } else if (response.status == 'fail') {
                                    alert(response.errors);
                                }
                    
                            }, "json");
                            return false;
                        });
                    • +1

                      Вы чего то тут уже такого понаписывали))) все что нужно было сделать, так это в функии .animate выполнить проверку, о которой я вам писал выше, а именно присвоен ли контейнеру #menutt класс fixed и запустить товар в нужную корзину). Сделайте следующим образом:

                      1. Исправьте обратно в вашем шаблоне cart-total на cart-total2

                      2. В js объявите var fixed_cart = $("#menutt > .cart-countsmall");

                      3. добавьте проверку в функцию .animate


                      .animate({
                              if ($('#menutt').hasClass('fixed')) {
                                  top: fixed_cart.offset().top,
                                  left: fixed_cart.offset().left,
                      width: '10px', height: '10px', opacity: 0.7 }else { top: cart_total.offset().top, left: cart_total.offset().left, width: '10px', height: '10px', opacity: 0.7 } },
  • 1
    Leva 7 октября 2016 12:17 #

    И если вносишь ваш код то банерокрутилка останавливается

    • +2

      Виноват)))) сам начудил))) вот, замените код

      else {
                      
                          // flying cart
                          var origin = f.closest('li');
                          var block = $('<div>gggg</div>').append(origin.html());
                          if($('#menutt').hasClass('fixed')){var cart_positon = $('.cart-countsmall')}else{var cart_positon = $('.cart-count2')};
                          block.css({
                              'z-index': 100500,
                              background: '#fff',
                              top: origin.offset().top,
                              left: origin.offset().left,
                              width: origin.width()+'px',
                              height: origin.height()+'px',
                              position: 'absolute',
                              overflow: 'hidden'
                          }).appendTo('body').css({'border':'2px solid #eee','padding':'20px','background':'#fff'}).animate({
                                  top: cart_positon.offset().top,
                                  left: cart_positon.offset().left,
                                  width: '10px',
                                  height: '10px',
                                  opacity: 0.7
                          }, 700, function() {
                              $(this).remove();
                              cart_total.html(response.data.total);
      						$('.cart-count').html(response.data.count);
                              $('#cart-content').append($('<div class="cart-just-added"></div>').html(f.find('span.added2cart').text()));
                              if ($('#cart').hasClass('fixed'))
                              $('.cart-to-checkout').show();
                          });
                      }
                  }
  • 1
    Leva 7 октября 2016 15:52 #

    Че то не работает

    • +1

      все должно работать, протестировал у себя http://shopscript.morbiplay.com/sb/category/odezhd...

      if($('#cart').hasClass('fixed')){var cart_positon= $('.cart-total')}else{var cart_positon $('.breadcrumbs')}; как результат при при фиксированной корзине летит в корзину, без прокрутки вниз летит в хлебные крошки (для наглядности), в вашем случае при фиксированном хедерел должно лететь в .cart-countsmall без - в .cart-count2

  • 1
    Leva 7 октября 2016 16:03 #
    ну вот например http://stroy-vibor.ru/product/tarpaulin-120/

    без прокрутки летит влевый угол, прокрутишь летит в менюшку выпадающую

  • 1

    а это потому, что у вас продукты с выбором опций

    http://stroy-vibor.ru/category/setki-zagraditelnie/ тут где нет выбора, все летит куда нужно найти js который обрабатывает модальное окно с выбором опции и сделать в нем то же самое

  • 1
    Leva 7 октября 2016 16:19 #

    Нашел в product.js

    Это то?

    // flying cart
                        var clone = $('<div class="cart"></div>').append(f.clone());
                        clone.appendTo('body');
                        clone.css({
                            'z-index': 100500,
                            background: cart_div.closest('.dialog').length ? '#fff' : cart_div.parent().css('background'),
                            top: cart_div.offset().top,
                            left: cart_div.offset().left,
                            width: cart_div.width() + 'px',
                            height: cart_div.height() + 'px',
                            position: 'absolute',
                            overflow: 'hidden'
                        }).css({'border':'2px solid #eee','padding':'20px','background':'#fff'}).animate({
                            top: cart_total.offset().top,
                            left: cart_total.offset().left,
                            width: '10px',
                            height: '10px',
                            opacity: 0.7
                        }, 600, function () {
                            $(this).remove();
                            cart_total.html(response.data.total);
    						$(".cart-count").html(response.data.count);
    						$('#cart-content').append($('<div class="cart-just-added"></div>').html(self.add2cart.find('span.added2cart').text()));
                            if ($('#cart').hasClass('fixed'))
                                $('.cart-to-checkout').slideDown(200);
                        });
                        if (cart_div.closest('.dialog').length) {
                            cart_div.closest('.dialog').hide().find('.cart').empty();
                        }
    
                    }
    • +1

      это полет со страницы продукта, здесь тоже нужно сделать тоже самое, а в категории скорее всего не так летит потому, что у вас тут кусок условия какой то не открытый и не закрыты (возможно я не досмотрел), удалите его

      • +1
        Leva Leva 7 октября 2016 16:40 #

        Да в категории летит нормально есть нет опций, если есть опции то летит в левый угол, мне и на странице продукта надо чебы летело

  • 1
    Leva 7 октября 2016 16:44 #

    алилуя!!!! все заработало!!!!! спасибо

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите