图片描述

HTML

<div class="fly-cart">
   <div class="wrapper">
      <span><i class="shopping-cart"></i></span>
      <div class="clear"></div>
      <div class="items">
         <div class="item fly-item1">
            <div class="item-img">
               <img src="images/item2.jpg" alt="item" />
            </div>
            <h3>Unique Color Wedges </h3>
            <h6>Nemo enim ipsam voluptatem quia voluptassit aspernatur aut odit aut fugit, sed quia.</h6>
            <p>Price : <span>$29</span></p>
            <button class="add-to-cart" type="button">加入购物车</button>
            <div class="clear"></div>
         </div>
         <div class="clear"></div>
      </div>
   </div>
</div>

javascript

<script>
    $('.add-to-cart').on('click', function () {
        var cart = $('.shopping-cart');
        var imgtodrag = $(this).parent('.item').find("img").eq(0);
        if (imgtodrag) {
            var imgclone = imgtodrag.clone()
                .offset({//.offset()方法获取匹配元素在当前视口的相对偏移
                top: imgtodrag.offset().top,
                left: imgtodrag.offset().left
            })//克隆后图片的top等于之前的offset().top;left等于之前的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');
            
            imgclone.animate({
                'width': 0,
                    'height': 0
            }, function () {
                $(this).detach()//detach() 方法移除被选元素,包括所有文本和子节点。这个方法会保留 jQuery 对象中的匹配的元素,因而可以在将来再使用这些匹配的元素。detach() 会保留所有绑定的事件、附加的数据,这一点与 remove() 不同。
            });
        }
    });
</script>

yzbao
626 声望19 粉丝

Uncaught ReferenceError