此 jQuery 代码之前有效,但现在无效,为什么?

this jQuery code worked before it didn't now why?

我有这段代码可以为图像设置动画并将其移动到购物车中。它以前工作过,但自从我将 PrestaShop 更新到最新版本 (1.7.7.1)

后就不再工作了

这是错误:

Uncaught TypeError: imgtodrag.clone(...).offset(...).css is not a function

是什么原因造成的?

$(document).on('click', '.btn-cart', function() {
  if ($(document).width() > 767) {
    /*console.log("animation from outside of ajax");*/
    if ($(document).scrollTop() > 90) {
      var cart = $('.cart-menu');
    } else {
      var cart = $('#_desktop_cart');
    }
    var imgtodrag = $(this).closest('.product-miniature').find(".thumbnail-container").find("img").eq(0);
    if (imgtodrag.lenght != 0) {
      var imgclone = imgtodrag.clone().offset({
        top: imgtodrag.offset().top,
        left: imgtodrag.offset().left
      }).css({
        'opacity': '0.5',
        'position': 'absolute',
        'height': '150px',
        'width': '150px',
        'z-index': '100'
      }).appendTo($('body')).animate({
        'top': cart.offset().top + 10,
        'left': cart.offset().left + 10,
        'width': 75,
        'height': 75
      }, 1000, 'easeInOutExpo');

      setTimeout(function() {
        cart.effect("shake", {
          times: 2
        }, 200);
      }, 1500);

      imgclone.animate({
        'width': 0,
        'height': 0
      }, function() {
        $(this).detach()
      });
      console.log("test2");
    }
  } else {

编辑:这部分似乎是:

.offset({
            top: imgtodrag.offset().top,
            left: imgtodrag.offset().left
          })

不起作用。
如果我输入随机值而不是“top: imgtodrag.offset().top” 和“left: imgtodrag.offset 同样的事情]().left",
我验证了我是否可以从 imgtodrag 获取值,是的,我可以,
所以我的imgtodrag.clone()好像不能用偏移函数,我不明白为什么

我没有设置偏移量,而是取了顶部和左侧的偏移量值并将它们放在 css 部分,就像这样:

var topoff = Math.round(imgtodrag.offset().top);
var leftoff = Math.round(imgtodrag.offset().left);

var imgclone = imgtodrag.clone()
                .css({
                    'opacity': '0.5',
                    'position': 'absolute',
                    'height': '150px',
                    'width': '150px',
                    'z-index': '100',
                    'top' : topoff + 'px',
                    'left' : leftoff + 'px',
                }).appendTo($('body'))
                    .animate({
                    'top': cart.offset().top + 10,
                    'left': cart.offset().left + 10,
                    'width': 75,
                    'height': 75
                }, 1000, 'easeInOutExpo');

结果是一样的:)