小程序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 string 扩展库代码
Apr 09 Javascript
jQuery实现的多选框多级联动插件
May 02 Javascript
浅谈JavaScript变量的自动转换和语句
Jun 12 Javascript
AngularJS入门教程之模块化操作用法示例
Nov 02 Javascript
js闭包用法实例详解
Dec 13 Javascript
jquery append与appendTo方法比较
May 24 jQuery
JS中精巧的自动柯里化实现方法
Dec 12 Javascript
javascript数组拍平方法总结
Jan 20 Javascript
Vue 让元素抖动/摆动起来的实现代码
May 31 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
Sep 14 Javascript
react native 仿微信聊天室实例代码
Sep 17 Javascript
vue.js this.$router.push获取不到params参数问题
Mar 03 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与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
node中socket.io的事件使用详解
2014/12/15 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
清空元素html(&quot;&quot;) innerHTML=&quot;&quot; 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
详解react-refetch的使用小例子
2019/02/15 Javascript
jQuery事件委托代码实践详解
2019/06/21 jQuery
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
python+Django+apache的配置方法详解
2016/06/01 Python
python topN 取最大的N个数或最小的N个数方法
2018/06/04 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
解决 jupyter notebook 回车换两行问题
2020/04/15 Python
python 等差数列末项计算方式
2020/05/03 Python
Python使用re模块验证危险字符
2020/05/21 Python
无惧面试,带你搞懂python 装饰器
2020/08/17 Python
python如何实现DES加密
2020/09/21 Python
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
教育专业个人求职信
2013/12/02 职场文书
机电一体化专业推荐信
2013/12/03 职场文书
国际贸易个人求职信范文
2014/01/04 职场文书
微信营销策划方案
2014/02/24 职场文书
一年级学生评语
2014/04/23 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS