小程序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 style 中visibility和display之间的区别
Jan 22 Javascript
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
Mar 17 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
May 06 Javascript
JavaScript创建一个object对象并操作对象属性的用法
Mar 23 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
Jan 12 Javascript
详解JavaScript中数组的reduce方法
Dec 02 Javascript
javascript实现的图片预览功能
Mar 25 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
Apr 07 Javascript
详解如何在Vue项目中导出Excel
Apr 19 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
Nov 29 Javascript
小程序简单两栏瀑布流效果的实现
Dec 18 Javascript
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
Apr 28 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
一次编写,随处运行
2006/10/09 PHP
发布一个用PHP fsockopen写的HTTP下载的类
2007/02/22 PHP
万能的php分页类
2017/07/06 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
2019/04/09 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
Js 弹出框口并返回值的两种常用方法
2010/12/30 Javascript
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
js中传递特殊字符(+,&amp;)的方法
2014/01/16 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
jQuery中:nth-child选择器用法实例
2014/12/31 Javascript
学习javascript的闭包,原型,和匿名函数之旅
2015/10/18 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
2015/10/20 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
Promise扫盲贴
2019/06/24 Javascript
vue实现图片上传预览功能
2019/12/23 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
Win7上搭建Cocos2d-x 3.1.1开发环境
2014/07/03 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
2019/10/23 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
Java servlet面试题
2012/03/04 面试题
总经理岗位职责描述
2014/02/08 职场文书
艺术教育实施方案
2014/05/03 职场文书
社区活动策划方案
2014/08/21 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
2014年协会工作总结
2014/11/22 职场文书
音乐教师求职信范文
2015/03/20 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
pytorch显存一直变大的解决方案
2021/04/08 Python
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript