小程序hover-class點(diǎn)擊態(tài)效果實(shí)現(xiàn)
微信小程序設(shè)置 hover-class,實(shí)現(xiàn)點(diǎn)擊態(tài)效果
增強(qiáng)小程序觸感,提高用戶交互感知度
概念及注意事項(xiàng)
微信小程序中,可以用 hover-class 屬性來(lái)指定元素的點(diǎn)擊態(tài)效果。但是在在使用中要注意,大部分組件是不支持該屬性的。
- 目前支持 hover-class 屬性的組件有三個(gè):view、button、navigator。
- 不支持 hover-class 屬性的組件,同時(shí)也不支持 hover-stop-propagation、hover-start-time、hover-stay-time 這三個(gè)屬性。
- 當(dāng) hover-class 的值為 none 時(shí),組件上不會(huì)有任何點(diǎn)擊態(tài)效果。
注意事項(xiàng)
- hover-class樣式顯示的原理是 點(diǎn)擊時(shí)把樣式加到class的樣式中,沖突時(shí),誰(shuí)在后面就顯示誰(shuí)!
- 當(dāng)組件中沒(méi)有任何指定的類(lèi)時(shí),直接使用 hover-class 就會(huì)起到相應(yīng)的作用,但是當(dāng)組件中已經(jīng)指定了其他可能與 hover-class 沖突的類(lèi)時(shí),hover-class 無(wú)效
- 將 hover-class 指定的類(lèi)放在對(duì)應(yīng) wss 文件的最末尾,這樣就不會(huì)被其他類(lèi)所覆蓋
- 通常,當(dāng)一個(gè) view 組件中包含 image 等不支持 hover-class 的組件,但又需要在該組件上使用 hover-stop-propagation 屬性的作用時(shí),需要將不支持 hover-class 的組件用view、button 或 navigator 包裹起來(lái)
使用場(chǎng)景
1.列表頁(yè)——詳情頁(yè)(點(diǎn)擊跳轉(zhuǎn))
以新聞資訊為例,大部分應(yīng)該都是這樣的
添加如下代碼
//html <view hover-class='wsui-btn__hover_list'> ... </view> //css .wsui-btn__hover_list { opacity: 0.9; background: #f7f7f7; }
點(diǎn)擊效果如下圖
2.展示類(lèi)表格列表(不觸發(fā)跳轉(zhuǎn))
可設(shè)置hover-stay-time屬性,突出顯示觸摸行或列
//html <view hover-class='wsui-btn__hover_list' hover-stay-time="3000"> ... </view> //css .wsui-btn__hover_list { opacity: 0.9; background: #f7f7f7; }
3.提交類(lèi)按鈕
1種樣式往往不能滿足,各種形狀的按鈕,暫提供以下2種參考
.wsui-btn__hover_btn { //圓形按鈕 opacity: 0.9; transform: scale(0.95, 0.95); //長(zhǎng)矩形按鈕 position: relative; top: 3rpx; left: 3rpx; box-shadow:0px 0px 8px rgba(0, 0, 0, .1) inset; }
上圖以長(zhǎng)矩形按鈕為例,采用scale整體縮放效果顯然不佳
圓形按鈕顯然更合適對(duì)于同頁(yè)面等待請(qǐng)求返回的按鈕,配合 disabled 屬性,使用加載中按鈕的方案更為合理
4.有待考量的場(chǎng)景
選擇類(lèi)按鈕,特指點(diǎn)擊切換某些狀態(tài),會(huì)有及時(shí)的狀態(tài)切換響應(yīng)的,如遮罩層、active類(lèi)導(dǎo)航圖標(biāo)類(lèi),首頁(yè)的圖標(biāo)導(dǎo)航我認(rèn)為以上無(wú)需添加hover類(lèi)
特別說(shuō)明
以上只是拋磚引玉,針對(duì)點(diǎn)擊態(tài),用戶體驗(yàn)優(yōu)化的示例
歡迎大家針對(duì)效果、使用場(chǎng)景、統(tǒng)一性等方面留言、評(píng)論作出優(yōu)化和補(bǔ)充,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS中的oninput和onchange事件的區(qū)別及如何正確使用
在JavaScript中,oninput和onchange事件是用于處理用戶輸入的常見(jiàn)事件,本文將介紹oninput和onchange事件的區(qū)別,以及如何在實(shí)際開(kāi)發(fā)中正確使用它們,感興趣的朋友跟隨小編一起看看吧2023-10-10javascript使用定時(shí)函數(shù)實(shí)現(xiàn)跳轉(zhuǎn)到某個(gè)頁(yè)面
定時(shí)跳轉(zhuǎn)到某個(gè)頁(yè)面,比如跳轉(zhuǎn)到一個(gè)頁(yè)面處理完任務(wù),然后又回到原來(lái)的頁(yè)面,這個(gè)用javascript的定時(shí)函數(shù)很容易實(shí)現(xiàn)2013-12-12JS中數(shù)組隨機(jī)排序?qū)崿F(xiàn)方法(原地算法sort/shuffle算法)
已經(jīng)學(xué)過(guò)JavaScript,我們當(dāng)然就可以用數(shù)組的排序方法,這篇文章主要給大家介紹了關(guān)于JS中數(shù)組隨機(jī)排序?qū)崿F(xiàn)方法的相關(guān)資料,主要包括了原地算法sort/shuffle算法,需要的朋友可以參考下2023-02-02video.js 實(shí)現(xiàn)視頻只能后退不能快進(jìn)的思路詳解
這篇文章主要介紹了video.js 實(shí)現(xiàn)視頻只能后退不能快進(jìn)的思路詳解,主要思路是點(diǎn)擊進(jìn)度條需要獲取拖動(dòng)前的時(shí)間點(diǎn),具體實(shí)例代碼大家跟隨小編一起看看吧2018-08-08js+css簡(jiǎn)單實(shí)現(xiàn)網(wǎng)頁(yè)換膚效果
這篇文章主要介紹了js+css簡(jiǎn)單實(shí)現(xiàn)網(wǎng)頁(yè)換膚效果的方法,涉及JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)遍歷及修改頁(yè)面元素樣式的相關(guān)技巧,需要的朋友可以參考下2015-12-12理解JavaScript中window對(duì)象的一些用途
這篇文章主要介紹了理解JavaScript中的window對(duì)象,本文通過(guò)實(shí)例代碼詳細(xì)介紹Window對(duì)象的一些重要用途,需要的朋友可以參考下2022-07-07javascript針對(duì)不確定函數(shù)的執(zhí)行方法
這篇文章主要介紹了javascript針對(duì)不確定函數(shù)的執(zhí)行方法,實(shí)例分析了eval函數(shù)及符號(hào)屬性兩種執(zhí)行方式,需要的朋友可以參考下2015-12-12