通常页面会摆放一些button按钮或者view区域,用户触摸按钮之后会触发下一步的操作。这种情况下,我们要对触摸这个行为给予用户一些响应。如图4-17所示,当我们手指触摸了button文字所在的cell区域时,对应的区域底色变成浅灰色,这样用户就可以知道小程序是有及时响应他的这次触摸操作,用户就不会很迷惑。


图4-17 触摸区域底色变成灰色响应用户的触摸操作

小程序的view容器组件和button组件提供了hover-class属性,触摸时会往该组件加上对应的class改变组件的样式。

代码清单4-1 通过hover-class属性改变触摸时的样式


/*page.wxss */ .hover{   background-color: gray; }  <!--page.wxml --> <button hover-class="hover"> 点击button </button> <view hover-class="hover"> 点击view</view>



对于用户的操作及时响应是非常优秀的体验,有时候在点击button按钮处理更耗时的操作时,我们也会使用button组件的loading属性,在按钮的文字前边出现一个Loading,让用户明确的感觉到,这个操作会比较耗时,需要等待一小段时间。


图4-18 button文字前出现loading

代码清单4-2 设置button的loading属性


<button hover-class="hover" bindtap="loadEvent" loading="{{loading}}"> 点击button </button>  loading:false  loadEvent(){     const _this = this;     // 把按钮的loading状态显示出来     this.setData({       loading:true     })     //接着做耗时操作     setTimeout(function () {       _this.setData({         loading:false       })     }, 1000)   }


结果:

界面交互~触摸反馈_xml







.