小程序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 相关文章推荐
一些javascript一些题目的解析
Dec 25 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
May 29 Javascript
详解jQuery中的empty、remove和detach
Apr 11 Javascript
jQuery中常用动画效果函数(日常整理)
Sep 17 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
Dec 19 Javascript
JavaScript中Math对象的方法介绍
Jan 05 Javascript
移动端web滚动分页的实现方法
May 05 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
对Angular中单向数据流的深入理解
Mar 31 Javascript
vue柱状进度条图像的完美实现方案
Aug 26 Javascript
关于layui的动态图标不显示的解决方法
Sep 04 Javascript
javascript 设计模式之组合模式原理与应用详解
Apr 08 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
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
WordPress中is_singular()函数简介
2015/02/05 PHP
php支持断点续传、分块下载的类
2016/05/02 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
js操作iframe的一些方法介绍
2013/06/25 Javascript
类似天猫商品详情随浏览器移动的示例代码
2014/02/27 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
javscript 数组扁平化的实现
2020/02/03 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
Python使用turtule画五角星的方法
2015/07/09 Python
python处理xml文件的方法小结
2017/05/02 Python
用Python设计一个经典小游戏
2017/05/15 Python
10分钟教你用Python实现微信自动回复功能
2018/11/28 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
python重要函数eval多种用法解析
2020/01/14 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
CK澳大利亚官网:Calvin Klein澳大利亚
2020/12/12 全球购物
中文专业毕业生自荐书范文
2014/01/04 职场文书
2014年质量工作总结
2014/11/22 职场文书
安全承诺书
2015/01/19 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
2015年学校团委工作总结
2015/05/26 职场文书