小程序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 相关文章推荐
jquery 列表双向选择器之改进版
Aug 09 Javascript
javaScript面向对象继承方法经典实现
Aug 20 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
Jul 01 Javascript
javascript搜索框点击文字消失失焦时文本出现
Sep 18 Javascript
浅谈轻量级js模板引擎simplite
Feb 13 Javascript
jQuery实现调整表格单列顺序完整实例
Jun 20 Javascript
js清除浏览器缓存的几种方法
Mar 15 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
May 24 Javascript
详解vue-cli本地环境API代理设置和解决跨域
Sep 05 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
Sep 28 Javascript
ionic使用angularjs表单验证(模板验证)
Dec 12 Javascript
关于vue.js中实现方法内某些代码延时执行
Nov 14 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数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
Javascript与jQuery方法的隐藏与显示
2015/01/19 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
vue.js实现条件渲染的实例代码
2017/06/22 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
vue+vux实现移动端文件上传样式
2017/07/28 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
python获取外网IP并发邮件的实现方法
2017/10/01 Python
python如何删除列为空的行
2020/07/17 Python
Pottery Barn阿联酋:购买家具、家居装饰及更多
2019/12/08 全球购物
创立科技Java面试题
2015/11/29 面试题
大学生写自荐信的技巧
2014/01/08 职场文书
生日派对邀请函
2014/01/13 职场文书
党员转正意见怎么写
2015/06/03 职场文书
田径运动会广播稿
2015/08/19 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书