小程序hover-class点击态效果实现


Posted in Javascript onFebruary 26, 2019

微信小程序设置 hover-class,实现点击态效果

增强小程序触感,提高用户交互感知度

概念及注意事项

微信小程序中,可以用 hover-class 属性来指定元素的点击态效果。但是在在使用中要注意,大部分组件是不支持该属性的。

  • 目前支持 hover-class 属性的组件有三个:view、button、navigator。
  • 不支持 hover-class 属性的组件,同时也不支持 hover-stop-propagation、hover-start-time、hover-stay-time 这三个属性。
  • 当 hover-class 的值为 none 时,组件上不会有任何点击态效果。

小程序hover-class点击态效果实现

注意事项

  • hover-class样式显示的原理是 点击时把样式加到class的样式中,冲突时,谁在后面就显示谁!
  • 当组件中没有任何指定的类时,直接使用 hover-class 就会起到相应的作用,但是当组件中已经指定了其他可能与 hover-class 冲突的类时,hover-class 无效
  • 将 hover-class 指定的类放在对应 wss 文件的最末尾,这样就不会被其他类所覆盖
  • 通常,当一个 view 组件中包含 image 等不支持 hover-class 的组件,但又需要在该组件上使用 hover-stop-propagation 属性的作用时,需要将不支持 hover-class 的组件用view、button 或 navigator 包裹起来

使用场景

1.列表页——详情页(点击跳转)

以新闻资讯为例,大部分应该都是这样的

小程序hover-class点击态效果实现

添加如下代码

//html
<view hover-class='wsui-btn__hover_list'>
  ...
</view>
//css
.wsui-btn__hover_list {
  opacity: 0.9;
  background: #f7f7f7;
}

点击效果如下图

小程序hover-class点击态效果实现

2.展示类表格列表(不触发跳转)

可设置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;
}

小程序hover-class点击态效果实现

3.提交类按钮

1种样式往往不能满足,各种形状的按钮,暂提供以下2种参考

.wsui-btn__hover_btn {
//圆形按钮
 opacity: 0.9;
 transform: scale(0.95, 0.95);
//长矩形按钮
 position: relative;
 top: 3rpx;
 left: 3rpx;
 box-shadow:0px 0px 8px rgba(0, 0, 0, .1) inset; 
}

小程序hover-class点击态效果实现

小程序hover-class点击态效果实现

上图以长矩形按钮为例,采用scale整体缩放效果显然不佳

小程序hover-class点击态效果实现

圆形按钮显然更合适对于同页面等待请求返回的按钮,配合 disabled 属性,使用加载中按钮的方案更为合理

4.有待考量的场景

选择类按钮,特指点击切换某些状态,会有及时的状态切换响应的,如遮罩层、active类导航图标类,首页的图标导航我认为以上无需添加hover类

特别说明
以上只是抛砖引玉,针对点击态,用户体验优化的示例
欢迎大家针对效果、使用场景、统一性等方面留言、评论作出优化和补充,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。
Javascript 相关文章推荐
js常用代码段整理
Nov 30 Javascript
改变隐藏的input中value的值代码
Dec 30 Javascript
jquery学习总结(超级详细)
Sep 04 Javascript
利用原生JavaScript获取元素样式只是获取而已
Oct 08 Javascript
JS对字符串编码的几种方式使用指南
May 14 Javascript
详解AngularJS中的依赖注入机制
Jun 17 Javascript
jQuery遍历json的方法(推荐)
Jun 12 Javascript
Vuex之理解state的用法实例
Apr 19 Javascript
详解Vue中localstorage和sessionstorage的使用
Dec 22 Javascript
详解ES6中的代理模式——Proxy
Jan 08 Javascript
小程序跨页面交互的作用与方法详解
Jan 07 Javascript
vue中是怎样监听数组变化的
Oct 24 Javascript
JS实现计算小于非负数n的素数的数量算法示例
Feb 26 #Javascript
vue使用Font Awesome的方法步骤
Feb 26 #Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
Feb 26 #Javascript
create-react-app使用antd按需加载的样式无效问题的解决
Feb 26 #Javascript
JS实现电话号码的字母组合算法示例
Feb 26 #Javascript
JS实现的合并两个有序链表算法示例
Feb 25 #Javascript
JS实现判断有效的数独算法示例
Feb 25 #Javascript
You might like
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
Zend Framework处理Json数据方法详解
2016/12/09 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
一组JS创建和操作表格的函数集合
2009/05/07 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
2011/09/13 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
小米公司JavaScript面试题
2014/12/29 Javascript
JS实现的简单图片切换功能示例【测试可用】
2017/02/14 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
2017/07/12 Javascript
vue.js配合$.post从后台获取数据简单demo分享
2018/08/11 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
JS删除对象中某一属性案例详解
2020/09/08 Javascript
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
python中二维阵列的变换实例
2014/10/09 Python
为python设置socket代理的方法
2015/01/14 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
python redis 批量设置过期key过程解析
2019/11/26 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
大学生表扬信范文
2014/01/09 职场文书
企业法人授权委托书
2014/04/03 职场文书
职务任命书范本
2014/06/05 职场文书
服务行业演讲稿
2014/09/02 职场文书
新郎新娘答谢词
2015/01/04 职场文书
2015年酒店工作总结范文
2015/04/07 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
《认识年月日》教学反思
2016/02/19 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书