背景:
前几天,公司的一个小程序项目开发的时候,遇到了一点点问题。设计师这狗币要让我在小程序上实现类似QQ左滑置顶删除的操作,心里mmp,我就是一个刚来公司三天的小小前端实习生而已,我想学习....当然刚刚来就被公司委以重任,也能看出本人技术过人,尤其是作为一个大二刚刚结束的学生来说。废话不多说,对于这个功能,第一反应就是百度,不百度不得了,一百度吓一跳。前辈们也来都做过。“那我不是直接照搬就行,开心”。开开心心的用mpvue上手之后,心里mmp,mpvue的坑这么多。。。。还不如自己动手撸一个,效率还更快。
我们先来看看效果图,有图有真相:
效果图:
实现:
1,上面说过mpvue的坑,比如里面的每一个的元素都是overflow:hidden,并且似乎都继承了display:block。(看小程序开发工具是这样的,具体源码没看,就只能猜猜)。所以主要解决是让元素overflow:scroll,这个主要是看效果的时候会用到
2,左滑和右滑,这又是一个坑。本以为mpvue的滑动事件会和vue的一模一样。开开心心的按着原来想法撸,发现怎么滑都滑不动,果断打印一波数据,发现滑动事件大有奥妙!
3,布局方面我采用的是rpx+flex。
4,点击时候置顶与取消置顶是通过json数据的top实现的。删除是用数组的splice()方法。
5,滑动效果是css动画控制的。
下面直接贴代码:如果看不懂可以嫌麻烦可以去我的github:nofollow" href="https://github.com/JB-Chen/mpvue-slide">https://github.com/JB-Chen/mpvue-slide
程序员大佬们,觉得可以就给个star,以资鼓励一下!
HTML代码:
主要的HTML代码: