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

[微信小程序]在圖片上的特定區(qū)域點(diǎn)擊實(shí)現(xiàn)功能

這篇具有很好參考價值的文章主要介紹了[微信小程序]在圖片上的特定區(qū)域點(diǎn)擊實(shí)現(xiàn)功能。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、功能描述

二、兩種不同的解決方法

1.方法一:image組件和view組件相結(jié)合

2.方法二:獲取點(diǎn)擊事件的位置信息


一、功能描述

? 對于前端初學(xué)者,在前端設(shè)計(jì)尤其是地圖功能設(shè)計(jì)過程中,偶爾會碰到下面這個問題:實(shí)現(xiàn)在圖片上特定區(qū)域內(nèi)的點(diǎn)擊進(jìn)行跳轉(zhuǎn)或其它功能。對于這個問題,本文提供兩種不同的解決方法。

二、兩種不同的解決方法

1.方法一:image組件和view組件相結(jié)合

結(jié)果展示

微信小程序image點(diǎn)擊事件,微信小程序,小程序

實(shí)現(xiàn)邏輯

在這個方法里,我們設(shè)置圖片占滿全屏,并設(shè)置其位置為相對位置。即position:?relative;

之后,我們設(shè)置不同的view視圖容器位置為絕地位置。即position:?absolute;

然后設(shè)置image和view的z-index值,使得所有的view的z-index均大于image的

之后通過設(shè)置不同的view的top、left值來確定其位置,并設(shè)置width和height來設(shè)置其覆蓋范圍

代碼片段

wxml
<view class="main">
  <image src="你的圖片地址" mode="" class="pic"/>
  <view class="cloud" bindtap="CLOUD"></view>
  <view class="hk" bindtap="HK"></view>
  <view class="sj" bindtap="SJ"></view>
  <view class="tzl" bindtap="TZL"></view>
  <view class="sch" bindtap="SCH"></view>
  <view class="snsw" bindtap="SNSW"></view>
  <view class="mgxz" bindtap="MGXZ"></view>
  <view class="twt" bindtap="TWT"></view>
  <view class="tryc" bindtap="TRYC"></view>
  <view class="xkdt" bindtap="XKDT"></view>
</view>
<hsd_footer></hsd_footer>
wxss
.main {
  position: relative;
  height: 1061rpx;
  width: 750rpx;
}

.main .pic {
  position: relative;
  height: 1061rpx;
  width: 750rpx;
  z-index: 0;
}

.main .cloud {
  position: absolute;
  z-index: 2;
  top: 440rpx;
  left: 130rpx;
  width: 115rpx;
  height: 120rpx;
  background-color: transparent;
}

.main .hk {
  position: absolute;
  z-index: 2;
  top: 585rpx;
  left: 340rpx;
  width: 115rpx;
  height: 120rpx;
  background-color: transparent;
}

.main .sj {
  position: absolute;
  z-index: 2;
  top: 585rpx;
  left: 0rpx;
  width: 175rpx;
  height: 160rpx;
  background-color: transparent;
}

.main .tzl {
  position: absolute;
  z-index: 2;
  top: 170rpx;
  left: 155rpx;
  width: 130rpx;
  height: 100rpx;
  background-color: transparent;
}

.main .sch {
  position: absolute;
  z-index: 2;
  top: 285rpx;
  left: 240rpx;
  width: 160rpx;
  height: 130rpx;
  background-color: transparent;
}

.main .snsw {
  position: absolute;
  z-index: 2;
  top: 550rpx;
  left: 450rpx;
  width: 135rpx;
  height: 100rpx;
  background-color: transparent;
}

.main .mgxz {
  position: absolute;
  z-index: 2;
  top: 300rpx;
  left: 450rpx;
  width: 250rpx;
  height: 135rpx;
  background-color: transparent;
}

.main .twt {
  position: absolute;
  z-index: 2;
  top: 665rpx;
  left: 530rpx;
  width: 85rpx;
  height: 135rpx;
  background-color: transparent;
}

.main .tryc {
  position: absolute;
  z-index: 2;
  top: 690rpx;
  left: 220rpx;
  width: 85rpx;
  height: 135rpx;
  background-color: transparent;
}

.main .xkdt {
  position: absolute;
  z-index: 2;
  top: 810rpx;
  left: 350rpx;
  width: 120rpx;
  height: 135rpx;
  background-color: transparent;
}
json
Page({
	/**
		 * 頁面的初始數(shù)據(jù)
		 */
	data: {
	//設(shè)置標(biāo)記點(diǎn)
	markers: [
	{
	id: 4,
	latitude: 31.938841,
	longitude: 118.799698,
	width: 30,
	height: 30
	}
	],
	latitude:'',
	longitude: '',
	},
	CLOUD() {
	wx.openLocation({
	latitude: 33.53761602081285,    //目標(biāo)位置的緯度
	longitude: 106.89011593077467,  //目標(biāo)位置的經(jīng)度
	})
  },
  HK(){
    wx.openLocation({
      latitude:33.538952949314385,    //目標(biāo)位置的緯度
      longitude: 106.90333922121809,  //目標(biāo)位置的經(jīng)度
      })
  },
  SJ(){
    wx.openLocation({
      latitude:33.53889035111852,    //目標(biāo)位置的緯度
      longitude: 106.91427726958082,  //目標(biāo)位置的經(jīng)度
      })
  },
  TZL(){
    wx.openLocation({
      latitude: 33.59597002051454,
      longitude: 106.81963489641187,
    })
  },
  SNSW(){
    wx.openLocation({
      latitude: 33.53844588084152,
      longitude: 106.91443824626755,
    })
  },
  SCH(){
    wx.openLocation({
      latitude: 33.59288386524651,
      longitude: 106.80703582594046,
    })
  },
  MGXZ(){
    wx.openLocation({
      latitude:33.55299598713276 ,
      longitude: 106.91361805585858,
    })
  },
  TWT(){
    wx.openLocation({
      latitude: 33.52215281772647,
      longitude: 106.9233920221596,
    })
  },
  TRYC(){
    wx.openLocation({
      latitude: 33.5380812096245,
      longitude: 106.91394528200915,
    })
  },
  XKDT(){
    wx.openLocation({
      latitude: 33.5334644147482,
      longitude: 106.84775336441803,
    })
  },
	onLoad() {
	}
	})

補(bǔ)充

通過以上代碼,我們實(shí)現(xiàn)了,點(diǎn)擊地圖上不同地方,可以直接跳轉(zhuǎn)到該地方的導(dǎo)航上

2.方法二:獲取點(diǎn)擊事件的位置信息

實(shí)現(xiàn)邏輯

使用 <image> 組件來展示圖片,并結(jié)合 <view> 組件和觸摸事件綁定來實(shí)現(xiàn)點(diǎn)擊功能。

在下面的 handleTap 函數(shù)中,我們使用 event.detail.xevent.detail.y 獲取點(diǎn)擊事件的橫坐標(biāo)和縱坐標(biāo)信息。然后,你可以根據(jù)這些坐標(biāo)信息來判斷點(diǎn)擊是否在特定的區(qū)域范圍內(nèi),并執(zhí)行相應(yīng)的功能邏輯。

wxml界面


<view>
  <image src="/path/to/image.jpg" mode="aspectFit" bindtap="handleTap"></image>
</view>

json界面文章來源地址http://www.zghlxwxcb.cn/news/detail-787594.html


Page({
  handleTap: function(event) {
    // 獲取點(diǎn)擊事件的坐標(biāo)信息
    var x = event.detail.x;
    var y = event.detail.y;
    
    // 根據(jù)坐標(biāo)信息進(jìn)行相應(yīng)的處理邏輯
    // 比如判斷點(diǎn)擊的區(qū)域是否在特定的位置范圍內(nèi),然后執(zhí)行相應(yīng)的功能
    if (x > 100 && x < 200 && y > 200 && y < 300) {
      // 在特定區(qū)域內(nèi)執(zhí)行的邏輯
      console.log("點(diǎn)擊了特定區(qū)域");
      // 執(zhí)行你的功能代碼
    }
  }
})

到了這里,關(guān)于[微信小程序]在圖片上的特定區(qū)域點(diǎn)擊實(shí)現(xiàn)功能的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包