原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
這個坑其實在社區已經有人解答,只是在“問答”中不易被公眾發現,所以就特意的寫一篇,大家就不要在問了(笑哭表情),這是解答人的帖子 http://www.mkhyf.com/topic/313
建議:現在社區的問答回復需要點贊才能置頂(小聲說:我發現很多人都懶得點贊),所以建議Michael、小木老師整一個發文人自己選出最佳答案的功能
正題正題:由于小程序不支持DOM操作,也就沒有了獲取文檔對象的方法,所以不能再像以前寫網頁的方法來修改樣式
$("#xxx").css({})
但是有setData的存在,js就依然可以動態修改樣,“簡”同學指出了三種方法
1.通過修改類名 <view class="{{className}}"></view>
2.添加一個類名,覆蓋前面的樣式 <view class="helplist {{cur}}"></view>
3.修改行內樣式,覆蓋前面的樣式 <view class="helplist" style="{{currentStyle}}"></view>
這類方法在html中也是經常使用的,封裝樣式讓代碼看的更舒服
接下來是一個例子
首先創建quickstart項目,通過點擊用戶頭像來修改HelloWord顏色
wxml文件
<view class="usermotto">
<text class="{{changeColor1}}">{{motto}}
</text>
<text class="user-motto {{changeColor2}}">{{motto}}
</text>
<text class="user-motto" style="{{changeDtl}}">{{motto}}</text>
</view>
分別對應上面三種方法
wxss文件,預先定義好樣式
.usermotto {
margin-top: 200px;
}
.text-red{
color:red;
}
.text-blue{
color:blue;
}
js文件
最終效果: