真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vue框架怎么制作購物車小球動畫效果

這篇“vue框架怎么制作購物車小球動畫效果”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“vue框架怎么制作購物車小球動畫效果”文章吧。

為建始等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及建始網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都做網(wǎng)站、成都網(wǎng)站建設、成都外貿(mào)網(wǎng)站建設、建始網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

直接上圖看看效果

vue框架怎么制作購物車小球動畫效果

下面介紹一下制作這個動畫的詳細過程:

1.因為使用vue鎖業(yè)需要使用transition標簽包裹 并指定動畫三個動畫生命周期函數(shù)


 		
 //Ballflag默認指定為false不顯示  

樣式設置成一個紅色的小球采用absolute定位確保不影響頁面的其他元素

.ball{
		width: 15px;
		height: 15px;
		border-radius: 50%;
		background-color: red;
		position: absolute;
		top: 413px;
		left: 80px;
		z-index: 99;
}

然后設置按鈕 Ballflag = !Ballflag 取非 觸發(fā)動畫效果(這里就不多說了)

如果起始位置和終點位置都使用px固定死的話對于不同的分辨率的設備效果都有所不同所以為避免這一情況我采用了動態(tài)計算出 起始位置和終點位置下面是具體的動畫的代碼

.ball{
		width: 15px;
		height: 15px;
		border-radius: 50%;
		background-color: red;
		position: absolute;
		top: 413px;
		left: 80px;
		z-index: 99;
}

通過動態(tài)的計算出起點位置和終點的位置來實現(xiàn)動畫效果(優(yōu)勢可以適配不同分辨率的設備)看到現(xiàn)在似乎整個動畫效果已經(jīng)完成了。

不過我在測試使用的時候發(fā)現(xiàn)一個問題

當我點擊按鈕觸發(fā)動畫的時候往下拉滾動條發(fā)現(xiàn)動畫終點的位置并不是期望的那樣到達購物車的位置原因是我在給小球設置樣式的時候給display設置的absolute絕對定位 只會計算出一個頁面中的絕對的位置,無法跟著滾動條來動。后來又想到可以使用fixed布局相對這屏幕來運動不受頁面滾動的影響所以實現(xiàn)的代碼如下樣式

.ball{
		width: 15px;
		height: 15px;
		border-radius: 50%;
		background-color: red;
		position: fixed;
		z-index: 99;
		top: 413px;
		left: 80px;

	}

****注意這里的boxPosition是頁面中數(shù)量1的位置 即定位小球的位置

beforeEnter(el){
			
			var boxPosition = this.$refs.boxPosition.getBoundingClientRect();
			// console.log(boxPosition)
			// 獲取目標的起始位置 
			var dist = boxPosition.y -413;
			el.style.transform = "translate(0,"+dist+"px)";
		},
		enter(el,done){
			el.offsetWidth;
			
			var boxPosition = this.$refs.boxPosition.getBoundingClientRect();
			var badgePosition = document.getElementById("badge").getBoundingClientRect();

			//目標的起始位置
			var dist = boxPosition.y -413; 
			
			// 這里因為是使用boxPosition的位置不是小球的位置所以-10調(diào)整一下誤差
			var xDist = badgePosition.left - boxPosition.left -10; 

			//這里要加上起始的定位
			var yDist = badgePosition.top - boxPosition.top + dist;
			
			el.style.transform = "translate("+xDist+"px, "+yDist+"px)";
			el.style.transition = "all 1s ease";
			done();
		},
		afterEnter(el){
			this.Ballflag = !this.Ballflag;
		},

這里就已經(jīng)完成了小球的動畫效果了

這樣的動畫不會因為頁面的滾動而無法準確的定位而且還能適配不同分辨率的設備。

以上就是關于“vue框架怎么制作購物車小球動畫效果”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關的知識內(nèi)容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)頁題目:vue框架怎么制作購物車小球動畫效果
網(wǎng)頁地址:http://weahome.cn/article/jijsgi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部