小程序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实现一个列表中包含上移下移删除等功能
Sep 24 Javascript
Javascript解析URL方法详解
Dec 05 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
Mar 03 Javascript
JavaScript淡入淡出渐变简单实例
Aug 06 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
Dec 07 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
Jan 04 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
Feb 28 Javascript
详解Vue中使用Axios拦截器
Apr 22 Javascript
javascript如何实现create方法
Nov 04 Javascript
node静态服务器实现静态读取文件或文件夹
Dec 03 Javascript
vue+AI智能机器人回复功能实现
Jul 16 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中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
Javascript中的几种URL编码方法比较
2015/01/23 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
js类式继承与原型式继承详解
2016/04/07 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
vue绑定的点击事件阻止冒泡的实例
2018/02/08 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
layuiAdmin循环遍历展示商品图片列表的方法
2019/09/16 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
vue中touch和click共存的解决方式
2020/07/28 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
Python实现批量下载文件
2015/05/17 Python
Python实现删除文件但保留指定文件
2015/06/21 Python
Django rest framework实现分页的示例
2018/05/24 Python
Python 新建文件夹与复制文件夹内所有内容的方法
2018/10/27 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
历史学专业毕业生求职信
2013/09/27 职场文书
什么是就业协议书
2014/04/17 职场文书
优秀团员自我评价范文
2014/04/23 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
2014年办公室个人工作总结
2014/11/12 职场文书
2014年街道办事处工作总结
2014/12/11 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
千与千寻观后感
2015/06/04 职场文书
听证会主持词
2015/07/03 职场文书
Python面向对象之内置函数相关知识总结
2021/06/24 Python