国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

uniapp 微信小程序?qū)崿F(xiàn)監(jiān)聽屏幕左右滑動實現(xiàn)tab標(biāo)簽切換效果

這篇具有很好參考價值的文章主要介紹了uniapp 微信小程序?qū)崿F(xiàn)監(jiān)聽屏幕左右滑動實現(xiàn)tab標(biāo)簽切換效果。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

需求背景:

? ? ? ? 實際的項目開發(fā)之中,有很多所謂的奇葩需求,當(dāng)工程量相對較大的時候去更換組件會顯得特別麻煩和費時。我這次的需求因為某些特殊原因,更換組件后也無法實現(xiàn)需要達到的效果,所以最后只能監(jiān)聽滑動事件,相信你看了我的代碼也能輕松搞定!

?????????@touchstart="touchStart" @touchend="touchEnd" @touchcancel="touchCancel" 是主要的函數(shù),寫在你要監(jiān)聽的盒子上。

<view class="swiper-title" @touchstart="touchStart" @touchend="touchEnd" @touchcancel="touchCancel">{{item.name}}</view>
		data() {
			return {
				minOffset: 50, //最小偏移量,低于這個值不響應(yīng)滑動處理
				minTime: 60, // 最小時間,單位:毫秒,低于這個值不響應(yīng)滑動處理
				startX: 0, //開始時的X坐標(biāo)
				startY: 0, //開始時的Y坐標(biāo)
				startTime: 0, //開始時的毫秒數(shù)
				animationData: {},
			};
		},
touchStart(e) {
				// console.log('touchStart', e)
				this.startX = e.touches[0].pageX; // 獲取觸摸時的x坐標(biāo)  
				this.startY = e.touches[0].pageY; // 獲取觸摸時的x坐標(biāo)
				this.startTime = new Date().getTime(); //獲取毫秒數(shù)
			},
			touchCancel: function(e) {
				this.startX = 0; //開始時的X坐標(biāo)
				this.startY = 0; //開始時的Y坐標(biāo)
				this.startTime = 0; //開始時的毫秒數(shù)
			},
			touchEnd: function(e) {
				// console.log('touchEnd', e)
				var endX = e.changedTouches[0].pageX;
				var endY = e.changedTouches[0].pageY;
				var touchTime = new Date().getTime() - this.startTime; //計算滑動時間
				//開始判斷
				//1.判斷時間是否符合
				if (touchTime >= this.minTime) {
					//2.判斷偏移量:分X、Y
					var xOffset = endX - this.startX;
					var yOffset = endY - this.startY;
					// console.log('xOffset', xOffset)
					// console.log('yOffset', yOffset)
					//①條件1(偏移量x或者y要大于最小偏移量)
					//②條件2(可以判斷出是左右滑動還是上下滑動)
					if (Math.abs(xOffset) >= Math.abs(yOffset) && Math.abs(xOffset) >= this.minOffset) {
						//左右滑動
						//③條件3(判斷偏移量的正負(fù))
						if (xOffset < 0) {
							// console.log('向左滑動 下一頁')
							if(this.current + 1 < this.tabList.length) {
								this.current ++
								this.animation.translateX(-190).step()
							}else return
						} else {
							// console.log('向右滑動')
							if(this.current > 0) {
								this.current --
								if(this.current > 1) this.animation.translateX(190).step()
							}else return
						}
						this.change(this.current)
						this.animationData = this.animation.export()
					} else if (Math.abs(xOffset) < Math.abs(yOffset) && Math.abs(yOffset) >= this.minOffset) {
						//上下滑動
						//③條件3(判斷偏移量的正負(fù))
						if (yOffset < 0) {
							// console.log('向上滑動')
						} else {
							// console.log('向下滑動')
						}
					}
				} else {
					// console.log('滑動時間過短', touchTime)
				}
			},

????????this.animation.translateX(190).step() 是動畫效果和監(jiān)聽滑動無關(guān),如果你想效果更好也可以像我一樣在onLoad中使用uni.createAnimation()創(chuàng)建一個動畫效果并使用它!文章來源地址http://www.zghlxwxcb.cn/news/detail-635039.html

到了這里,關(guān)于uniapp 微信小程序?qū)崿F(xiàn)監(jiān)聽屏幕左右滑動實現(xiàn)tab標(biāo)簽切換效果的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Uni-app實現(xiàn)左右滑動頁面內(nèi)容切換(兼容微信小程序)

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 ? ? ? ? 前言 ? ? ? ? 整體思路 ? ? ? ??一、HTML部分 ????????二、Script部分 ????????三、Style部分 ? ? ? ? ? (先聲明哦我可不是偷懶,只是想學(xué)術(shù)借鑒一下)因為最近有在做左右滑動功能,

    2024年02月07日
    瀏覽(112)
  • uniApp監(jiān)聽左右滑動事件

    監(jiān)聽左右滑動事件的步驟 1. 添加需要監(jiān)聽滑動事件的元素 在你的頁面中,添加需要監(jiān)聽滑動事件的元素。這可以是一個 view 、 swiper 或其他組件,取決于你的需求。例如: uniapp的滑動事件我也是感覺挺不錯的,關(guān)鍵是能夠?qū)崿F(xiàn)局部滑動,這一點就非常的棒。 2. 編寫事件處理

    2024年02月09日
    瀏覽(18)
  • 微信小程序 左右滑動方法

    微信小程序 左右滑動方法

    實現(xiàn)小程序左右滑動操作 wxml,在當(dāng)前view層滑動操作 data數(shù)據(jù)

    2024年02月11日
    瀏覽(25)
  • 微信小程序———同一頁面內(nèi)左右滑動切換內(nèi)容顯示

    微信小程序———同一頁面內(nèi)左右滑動切換內(nèi)容顯示

    一、微信小程序事件 ?由于首先介紹一下微信小程序中的事件,可選擇快速略過或者直接進去之后的重點內(nèi)容 一、什么是事件 事件是視圖層到邏輯層的通訊方式。 事件可以將用戶的行為反饋到邏輯層進行處理。 事件可以綁定在組件上,當(dāng)達到觸發(fā)事件,就會執(zhí)行邏輯層中對

    2024年02月03日
    瀏覽(85)
  • uniapp-微信小程序?qū)崿F(xiàn)swiper左右滾動切換tab,上下滾動加載列表

    思路:左右滑動使用swiper,上下滑動用scroll-view,swiper改變時同時改變tab并更新列表 坑點: 1. swiper高度問題,導(dǎo)致滑動不到最底部和最頂部 ? ? ? ? 需要手動計算,減去頂部高度和底部tabbar,并且需要同時設(shè)置padding-top和paddin-botton,否則列表顯示不完整 2. 由于最開始的代碼

    2024年02月04日
    瀏覽(93)
  • 微信小程序?qū)崿F(xiàn)左右滑動觸發(fā)內(nèi)容及聯(lián)動選項卡切換、Math、abs、findIndex、parseInt、String、push、createSelectorQuery、selectAll

    微信小程序?qū)崿F(xiàn)左右滑動觸發(fā)內(nèi)容及聯(lián)動選項卡切換、Math、abs、findIndex、parseInt、String、push、createSelectorQuery、selectAll

    在寫原生微信小程序項目的時候,遇到左右滑動更新內(nèi)容及聯(lián)動選項卡切換的功能。于是就寫了這篇文章,關(guān)于文章的 css 不在此文章中展示,使用了公共的自定義類名,所以通過類名大概就能推敲出 css 的屬性及值。 頁面分為三個模塊,分別是頂部橫向滾動選項卡,底部內(nèi)

    2024年02月09日
    瀏覽(96)
  • uniapp小程序—實現(xiàn)下滑關(guān)閉抽屜(包含上下左右滑動)

    uniapp小程序—實現(xiàn)下滑關(guān)閉抽屜(包含上下左右滑動)

    操作:點擊相應(yīng)文字時從底部出現(xiàn)彈框,下滑超過一定速率,彈框回到下方隱藏; 這個組件有些多余的地方我沒刪,可以自行擴展。以下附帶移動端的上下左右滑動,可以借鑒實現(xiàn)小程序的左右滑動

    2024年02月13日
    瀏覽(21)
  • 【uniapp小程序】使用swiper實現(xiàn)頁面內(nèi)部左右滑動的切換

    【uniapp小程序】使用swiper實現(xiàn)頁面內(nèi)部左右滑動的切換

    具體效果:手指在頁面左右滑動會切換tab ?背景:項目里原有代碼復(fù)制,去除一些功能,只留一個外殼,目的是為了以后套套套 代碼: 注意:scroll-view標(biāo)簽內(nèi)實現(xiàn)上來加載、下來刷新。因為現(xiàn)在頁面用不到,所以并沒有保留

    2024年02月12日
    瀏覽(93)
  • 微信小程序——監(jiān)聽頁面滑動(一)onPageScroll

    微信小程序——監(jiān)聽頁面滑動(一)onPageScroll

    知識專欄 專欄鏈接 微信小程序?qū)?https://blog.csdn.net/xsl_hr/category_12338067.html?spm=1001.2014.3001.5482 微信小程序——Git版本管理 https://blog.csdn.net/XSL_HR/article/details/130986889?spm=1001.2014.3001.5501 有關(guān) 微信小程序 的相關(guān)知識可以前往微信小程序官方文檔查看了解?。?微信小程序官方文檔

    2024年02月09日
    瀏覽(19)
  • 解決微信小程序在IOS端會上下左右滑動的問題

    解決微信小程序在IOS端會上下左右滑動的問題

    在開發(fā)微信小程序的時候發(fā)現(xiàn)在IOS端會出現(xiàn)上下左右都能滑動的情況,但是安卓端就不會出現(xiàn)這種情況,百度了一下好像IOS就是默認(rèn)可以滑動,安卓默認(rèn)不允許,本篇就這個問題解決一下,畢竟可以隨意滑動視覺上不太美觀 在外層的view設(shè)置overflow隱藏就好了,重新編譯測試就

    2024年02月12日
    瀏覽(47)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包