鼠标拖拽横向滑动(仿swiper效果)

推荐使用swiper插件,我这里这么做是最近在nuxt项目上使用时出现了一个小BUG(效果其实没问题,swiperOptions传入的配置项slidesPerView是3,但是在跳转其他页面的时候,第一张图的宽度会瞬间占满原来三张图的位置,图片被拉伸了,猜测可能是因为服务端渲染的关系,传入的配置想丢失了),没法解决,只好自己手动造轮子了。

大致思路:开始是想着用drag事件,但是在这里不太适合。改成了鼠标按下后添加鼠标移动事件,取pageX算出相对的移动距离给到transform移动的距离,最大可移动距离做下限制判断,超出的时候顺带加上过渡的时间,即可达到回弹的效果。





你可能感兴趣的:(javascript,vue.js,前端)