1. 程式人生 > >購物車動畫實現原理

購物車動畫實現原理

        想要做一個簡單的購物車新增動畫,但是又不想使用外掛去完成,可以使用該段程式碼,每節程式碼都添加了比較詳細的註釋,應該通俗易懂!

大致思路:

1、給新增按鈕繫結一個點選事件;                                                        $(selector).on('even',function(){});

2、克隆一個商品圖片(不僅限於圖片),使其位置與原來相同;          $(selector).clone();

3、給克隆得到的圖片一個新的樣式;

4、將克隆元素新增到body中;                                                                $(selector1).appendTo(selector2);

5、移動克隆元素到購物車處 ;                                                                $(selector).animate();

6、移動完成後執行佇列的下一個動畫,將克隆元素隱藏;                      $(selector).detach();

7、隱藏執行完畢,銷燬本身。

<script>
    $('.add-to-cart').on('click', function () {//on繫結事件
        var cart = $('.shopping-cart');//購物車
        var imgtodrag = $(this).parent('.item').find("img").eq(0);//商品圖片
        if (imgtodrag) {//如果商品圖片存在
            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'))//將其加入body中
                .animate({//設定動畫
                'top': cart.offset().top + 10,//比購物車偏低10px
                    'left': cart.offset().left + 10,//比購物車偏右10px
                    'width': 75,
                    'height': 75
            }, 1000, 'easeInOutExpo');//easeInOutExpo是一個回撥函式
            
            imgclone.animate({//使圖片隱藏
                'width': 0,
                    'height': 0
            }, function () {//圖片隱藏後執行回撥函式,移除自己
                $(this).detach()
            });
        }
    });
</script>

相關推薦

購物車動畫實現原理

        想要做一個簡單的購物車新增動畫,但是又不想使用外掛去完成,可以使用該段程式碼,每節程式碼都添加了比較詳細的註釋,應該通俗易懂! 大致思路: 1、給新增按鈕繫結一個點選事件;                                         

實現購物車實現原理

1.在使用者沒有登陸的情況下,在商品詳情介面,點選“加入購物車”把商品id傳遞給Controller,Controller接收id,Controller呼叫Service根據商品id查詢商品基本資訊。把商品寫入cookie中,加入cookie之前先從cookie中把購物車的商

Android三種動畫實現原理及使用

Android動畫目前分為三種:Frame Animation 幀動畫,通過順序播放一系列影象從而產生動畫效果,。圖片過多時容易造成OOM(Out Of Memory記憶體用完)異常。Tween Animation 補間動畫(又叫view動畫),是通過對場景裡的物件不斷做影象

iOS CoreAnimation專題——原理篇(二) UIView block動畫實現原理

前言 上一章中我們深入研究了UIView和它持有的那個CALayer之間的關係,知道了我們對UIView的各種屬性的操作實際上都是間接的操作了CALayer對應的屬性。 這一章中我們將進一步探究iOS動畫,看看UIView是如何將CoreAnima

3D動畫實現原理

        通過變換矩陣,我們可以實現大多數的動畫效果,不過這種方式,大多實現的是一種2D效果,如果向實現三維空間中的效果又什麼方法呢?     下面就為大家介紹Camera類,中文意思是攝像頭,當然這個指的可不是我們手機上那個照相用的那個攝像頭,這是一個邏輯概念,  

Android ListView動畫特效實現原理及源代碼

stat 每一個 應該 所有 ner haar .get tde pri Android 動畫分三種,當中屬性動畫為我們最經常使用動畫,且能滿足項目中開發差點兒所有需求,google官方包支持3.0+。我們能夠引用三方包nineoldandr

Fiori裏花瓣的動畫效果實現原理

png 隊列 view settime ges .com pop change 技術 Fiori裏的busy dialog有兩種表現形式,一種是下圖裏的花朵形狀,由5個不斷旋轉的花瓣組成。另一種是下圖的3/4個圓環不斷旋轉的效果。 關於前者的效果,可以看我制作的這個視頻。

CSS通過transition 實現的滑鼠滑過邊框線條動畫特效原理

transition: property duration timing-function delay;transition主要包含四個屬性值:執行變換的屬性transition-property,變換延續的時間transition-duration,在延續的時間段內,變換的

購物車原理實現.(仿京東實現原理)

2017年7月14日更新:  有很多小夥伴想要專案資料和原始碼, 我重新整理了一份傳了上來:  這次更新的為專案全套視訊及所有原始碼資料: 連結: https://pan.baidu.com/s/1hseNP9U 密碼: ugey 今天來開始寫一下關於購物車的東西,

js新增到購物車動畫效果實現

方法一: 用js控制購車的的位置實現 原理解析: 通過js動態生成一個過度元素(就是一個可以移動的小球),並控制該元素的位置移動,從點選按鈕dom元素移動到購物車的dom元素,實現新增到購物車的動態效果。 效果展示 綠色小球會按照拋物線的軌

實現加入購物車動畫

最近一直在總結之前寫過的一些功能,今年就記錄一下之前實現的加入購物車有動畫 1.點選的位置是開始位置 2.購物車圖片是結束位置 3.點選加入的時候獲取開始位置座標,並獲取動畫圖片 4.加入購物車成功後,開始傳送handle 執行動畫 下面直接上程式碼:  

購物車實現原理(一)

購物車相當於現實中超市的購物車,不同的是一個是實體車,一個是虛擬車而已。使用者可以在購物網站的不同頁面之間跳轉,以選購自己喜愛的商品,點選購買時,該商品就自動儲存到你的購物車中,重複選購後,最後將選中的所有商品放在購物車中統一到付款臺結賬,這也是儘量讓客戶體驗到現實生活中購

兩種方式實現購物車動畫

公司專案有新增商品到購物車的需求,需要一個新增商品的動畫效果。參照了一些當下主流APP的效果,最後實現了以下效果: 點選Item,顯示點選第幾項;點選購買,新增商品到購物車,同時購物車商品總數加一。 實現過程: 首先是商品新增到購物車的軌跡,類似於一條

購物車實現原理(仿京東實現原理)

關於購物車的東西, 這裡首先丟擲四個問題: 1)使用者沒登陸使用者名稱和密碼,新增商品, 關閉瀏覽器再開啟後 不登入使用者名稱和密碼 問:購物車商品還在嗎?  2)使用者登陸了使用者名稱密碼,新增商品,關閉瀏覽器再開啟後 不登入使用者名稱和密碼 問:購物車商品還在嗎?  

自已做動畫及編寫程式搞清楚最大堆的實現原理

[toc] #### 背景 - 二叉樹是資料結構中的重點,也是難點。二叉樹比陣列、棧、佇列等線性結構相比複雜度更高,想要做到心中有“樹”,需要自己動手畫圖、觀察、思考,才能領會其真諦。 - 在上篇文章[《自己動手作圖深入理解二叉樹、滿二叉樹及完全二叉樹》](https://blog.csdn.net/j

HashSet實現原理

運行 equal false spa 比較 logs pan ole print /* HashSet的實現原理:   往HashSet添加元素的時候,HashSet會先調用元素的hashCode方法得到元素的哈希值 ,   然後通過元素 的哈希值經過移位等運算,就可以算出

mysql線程池的實現原理淺析

new one lose clear pre turn logs color 否則 今天抽空主要看了一下mysql線程池(cached threads)的實現原理,總體並不那麽復雜,也學到了一些設計原理,值得記錄一下。為了簡化代碼,讓思路更清晰,我刪去了不少錯誤處理,線程同

session應用之購物車實現

har head 一維數組 empty img con 維數 htm http 現在網頁中的購物車功能的實現都是依賴的數據庫,相比之下,以前是依賴服務器端的session來儲存。今天來講一下session實現購物車的邏輯。 用一張水果信息表為例子來演示。 1.首先我們寫出來

HashMap實現原理

一個 ash img 方法 shm 步長 初始 2的n次冪 http HashMap的數據結構是數組+單向鏈表,數組裏面存儲就是鏈表的Head節點,鏈表節點存儲的是我們put進去的key/value。 如果要實現HashMap,主要有三個重要的功能點: 1.初

(9)launcher3 之 外部 更換主題Theme APP demo 實現原理以及demo

解壓 work ace fontsize 思路 con 鎖屏 解壓文件夾 更新 先說下我的思路: luancher3裏面更換圖標的邏輯例如以下: 先從APP資源包裏查詢--數據庫查詢--其它地方查詢ICON 因此,我們僅僅須要把 從數據庫獲取ICON 代碼提前到 從A