溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序點(diǎn)擊實(shí)現(xiàn)樣式切換功能的方法

發(fā)布時(shí)間:2022-03-11 09:55:48 來源:億速云 閱讀:1007 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“微信小程序點(diǎn)擊實(shí)現(xiàn)樣式切換功能的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“微信小程序點(diǎn)擊實(shí)現(xiàn)樣式切換功能的方法”吧!

普通的web開發(fā)可以通過JavaScript獲取HTML的Dom結(jié)構(gòu),但是小程序不可以,小程序?qū)崿F(xiàn)此功能的方式:數(shù)據(jù)綁定+data- 去更改標(biāo)簽類名。

微信小程序點(diǎn)擊實(shí)現(xiàn)樣式切換功能的方法

step 1 給選定的標(biāo)志 {{}} & data-num

此處只綁定了一個(gè)類名,也可以綁定N個(gè)類名。

class='class1 class2 {{num==1?"active":""}}'<view class='oil_s' catchtap='changeOil'><view class='{{num==1?"active":""}}' data-num='1'>92#汽油</view><view class='{{num==2?"active":""}}' data-num='2'>95#汽油</view><view class='{{num==3?"active":""}}' data-num='3'>0#汽油</view>

綁定一個(gè)事件 可以給外面的塊綁定,也可以給每一個(gè)里邊的view綁定,如下:

<view class='oil_s' ><view class='{{num==1?"active":""}}' data-num='1' catchtap='changeOil'>92#汽油</view><view class='{{num==2?"active":""}}' data-num='2' catchtap='changeOil'>95#汽油</view><view class='{{num==3?"active":""}}' data-num='3' catchtap='changeOil'>0#汽油</view></view>

唯一的區(qū)別是給事件傳入的 e 不同。  綁定在外面的塊的事件的e ,只有 target才會(huì)有dataset的值。  綁定給每一個(gè)小塊的事件的e ,不管是 target還是currentTarget都會(huì)有dataset的值。 

e.target.dataset.num  step 2 寫好初始值

一開始選定哪一個(gè),就給判斷的那個(gè)變量哪個(gè)值

data: {num:1},

step 3 寫好事件處理函數(shù)

changeOil:function(e){console.log(e);this.setData({num:e.target.dataset.num})}

原理 是改變一下 用來判斷的那個(gè)變量 num 的值而已。

他人的做法:

我用的類名active ,有的人會(huì)用cur ,【current的簡寫】  有人甚至總結(jié)出了三種方式:

1.通過修改類名 <view class="{{className}}"></view>2.添加一個(gè)類名,覆蓋前面的樣式 <view class="helplist {{cur}}"></view>3.修改行內(nèi)樣式,覆蓋前面的樣式 <view class="helplist" style="{{currentStyle}}"></view>

第二種方式跟我的一樣,第三種方式最好不要使用,畢竟我們要做一個(gè)性能佳的小程序。  至此,完成。 

到此,相信大家對“微信小程序點(diǎn)擊實(shí)現(xiàn)樣式切換功能的方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI