摘要:實(shí)現(xiàn)原理利用運(yùn)動(dòng)的合成原理,在水平方向上,執(zhí)行勻速運(yùn)動(dòng),在豎直方向上執(zhí)行勻變速運(yùn)動(dòng),合成后的物體運(yùn)動(dòng)軌跡便是拋物線。需要使用兩個(gè)標(biāo)簽,一個(gè)父標(biāo)簽,一個(gè)子標(biāo)簽,運(yùn)動(dòng)曲線分別綁定在對(duì)應(yīng)的兩個(gè)標(biāo)簽上。確定起始位置和結(jié)束位置點(diǎn)。
實(shí)現(xiàn)原理
1.利用運(yùn)動(dòng)的合成原理,在水平方向上,執(zhí)行勻速運(yùn)動(dòng),在豎直方向上執(zhí)行勻變速運(yùn)動(dòng),合成后的物體運(yùn)動(dòng)軌跡便是拋物線。 2.需要使用兩個(gè)標(biāo)簽,一個(gè)父標(biāo)簽,一個(gè)子標(biāo)簽,運(yùn)動(dòng)曲線分別綁定在對(duì)應(yīng)的兩個(gè)標(biāo)簽上。 3.確定起始位置和結(jié)束位置點(diǎn)。css樣式
.parent{ position:absolute; z-index:10; -webkit-transition:all 0.5s cubic-bezier( 0.39,-0.4,0.5,0 ) 0s; // 可以自定義 } .child{ width:20px; height:20px; border-radius:50%; background-color:#f9b52c; -webkit-transition:all 0.5s linear 0s; // 可以自定義 }js代碼段
var curveMove = function ( node ){ // node 為點(diǎn)擊的節(jié)點(diǎn) var xStar = node.offset().left + node.width() / 2, // 獲取起始點(diǎn)橫坐標(biāo) yStar = node.offset().top - node.height() / 2, // 獲取起始點(diǎn)縱坐標(biāo) width = 20,height = 20, nodeOffset = $(".aim").offset(), // 購(gòu)物車偏移量 xEnd = nodeOffset.left + width / 2, // 結(jié)束點(diǎn)橫坐標(biāo) yEnd = nodeOffset.top + height / 2; // 結(jié)束點(diǎn)縱坐標(biāo) $("").appendTo("body"); var outer = $(".parent").last().css({ left : xStar, top : yStar }), inner = outer.children(); setTimeout(function(){ // 延時(shí)一下,避免 transition 不執(zhí)行 outer[0].style.transform = "translate3d(0," + ( yEnd - yStar )+ "px,0)"; inner[0].style.transform = "translate3d(" + ( xEnd - xStar ) + "px,0,0)"; }, 30 ); }; // 最后將已經(jīng)結(jié)束的動(dòng)畫節(jié)點(diǎn)清除,這里用到了 transitionEnd 監(jiān)聽事件,代碼如下: document.addEventListener("webkitTransitionEnd", function( e ){ // 監(jiān)聽動(dòng)畫是否執(zhí)行完,若執(zhí)行完則清除相應(yīng)的節(jié)點(diǎn), var node = $(e.target).remove(); node = null; // 待系統(tǒng)回收 });
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/87128.html
寫在前面 最近天氣剛剛轉(zhuǎn)熱,心想應(yīng)該淘點(diǎn)春裝賣賣騷了,然后某寶逛的時(shí)候發(fā)現(xiàn)其加入購(gòu)物車的動(dòng)畫效果不錯(cuò),既完善了交互,又有功能導(dǎo)向作用,用戶體驗(yàn)杠杠滴~作為一名前端汪,也想自己動(dòng)手實(shí)現(xiàn)下此類酷炫的效果。抽空寫了個(gè)demo,雖然完成的效果比較粗糙,但是擁有毛坯房總好過租房吧哈哈,日后再完善不遲。現(xiàn)在講講自己的經(jīng)驗(yàn),順便理理思路,加深印象:) 準(zhǔn)備開始 開始只是在紙上作了草圖,構(gòu)思了下,才發(fā)現(xiàn)如果要一步...
寫在前面 最近天氣剛剛轉(zhuǎn)熱,心想應(yīng)該淘點(diǎn)春裝賣賣騷了,然后某寶逛的時(shí)候發(fā)現(xiàn)其加入購(gòu)物車的動(dòng)畫效果不錯(cuò),既完善了交互,又有功能導(dǎo)向作用,用戶體驗(yàn)杠杠滴~作為一名前端汪,也想自己動(dòng)手實(shí)現(xiàn)下此類酷炫的效果。抽空寫了個(gè)demo,雖然完成的效果比較粗糙,但是擁有毛坯房總好過租房吧哈哈,日后再完善不遲。現(xiàn)在講講自己的經(jīng)驗(yàn),順便理理思路,加深印象:) 準(zhǔn)備開始 開始只是在紙上作了草圖,構(gòu)思了下,才發(fā)現(xiàn)如果要一步...
摘要:陳家賓在做小程序的項(xiàng)目中,需要在添加購(gòu)物車的時(shí)候,增加拋物線小球動(dòng)畫。 author: 陳家賓 email: 617822642@qq.com date: 2018/2/24 在做小程序的項(xiàng)目中,需要在添加購(gòu)物車的時(shí)候,增加拋物線小球動(dòng)畫。 先給大家看下效果圖(其實(shí)已經(jīng)是實(shí)現(xiàn)后的效果了,順便給自己公司打廣告了哈哈) showImg(https://segmentfault.com/im...
摘要:上圖即為歸零后的坐標(biāo)系,對(duì)稱軸直線為在拋物線方程中,值得正負(fù)代表著拋物線的開口方向,那么值的絕對(duì)值也和拋物線的開口大小有著反比例的關(guān)系。 廢話不多說,先上DEMO~http://jsrun.net/PxKKp?uid=483再上源碼~https://github.com/Nelson2016... 運(yùn)行的原理 很簡(jiǎn)單的一個(gè)小特效,接下來來說一下他的原理。 顯而易見,這小東西肯定和拋物...
閱讀 3626·2021-11-24 09:39
閱讀 2563·2021-11-15 11:37
閱讀 2220·2021-11-11 16:55
閱讀 5223·2021-10-14 09:43
閱讀 3714·2021-10-08 10:05
閱讀 3016·2021-09-13 10:26
閱讀 2334·2021-09-08 09:35
閱讀 3546·2019-08-30 15:55