最近有个需求是要添加一个左滑删除的功能。参考了一下别的老哥的代码,做了一点点改进。记录一下。以备不时之需,话不多说 ,上代码
<template> <div class="slider-item"> <div class="content" @touchstart='touchStart' @touchmove='touchMove' @touchend='touchEnd' :style="deleteSlider" > <div class="remove">删除</div> </div> </div> </template> <script> // 获取删除按钮的宽度,此宽度为滑块左滑的最大距离 const DELBTNWIDTH = 60; export default { data() { return { startX: 0, // 开始pos endX: 0, // 结束pos moveX: 0, // 滑动时的pos disX: 0, // 滑动距离 deleteSlider: 'transform:translateX(0px)', }; }, methods: { touchStart(timestamp, ev) { ev = ev || event; this.currSliderTimestamp = timestamp; this.startX = 0; // tounches类数组,等于1时表示此时有只有一只手指在触摸屏幕 if (ev.touches.length === 1) { // 记录开始位置 this.startX = ev.touches[0].clientX; console.log(this.startX, this.disX); } }, touchMove(timestamp, ev) { ev = ev || event; if (ev.touches.length === 1) { // 滑动时距离浏览器左侧实时距离 this.moveX = ev.touches[0].clientX; //实时滑动距离,和上一次滑动做个衔接。防止第二次触发的时候,位置不对的问题 this.disX = this.startX - this.moveX + this.disX; // 如果是向右滑动或者不滑动,不改变滑块的位置 if (this.disX > 0) { if (this.disX < 100) { this.deleteSlider = 'transform:translateX(-' + this.disX + 'px)'; } else { this.deleteSlider = 'transform:translateX(-100px)'; } } else { if (this.disX < -60) { this.deleteSlider = 'transform:translateX(60px)'; } else { this.deleteSlider = 'transform:translateX(' + Math.abs(this.disX) + 'px)'; } } } }, touchEnd() { //滑动完成后,滑块应该在的位置 if (this.disX < 100) { this.deleteSlider = 'transform:translateX(0px)'; this.disX = 0; } else { this.deleteSlider = 'transform:translateX(-' + DELBTNWIDTH + 'px)'; this.disX = 60; } }, }, }; </script>
<style scoped lang="stylus" rel="stylesheet/stylus"> .slider-item { width: 100%; height: 60px; border-bottom: 1px solid #eeeeee; overflow: hidden; display: flex; position: relative; .content { min-width: 100%; height: 100%; background: yellow; box-sizing: normal-box; padding-right: 60px; position: relative; transition-property: all; transition-duration: 0.4s; transition-timing-function: cubic-bezier(0, 0.85, 0.72, 0.86); transition-delay: 0s; .remove { position: absolute; top: 0; right: 0; width: 60px; height: 60px; background: #fe5ba8; text-align: center; line-height: 60px; font-size: 15px; color: #ffffff; } } } </style>
参考实例
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年09月24日
2024年09月24日
- 国风大师纯音系列《古筝仙子 常静演奏 十指弹一》1CD[FLAC][919MB]
- DasKapital-OneMustHaveChaosInsidetoGiveBirthtoaDancingStar(2024)[24-44.1]WAV
- 王菲.1999-《只爱陌生人》日本东芝版[低速原抓WAV+CUE]
- 张小英1987-金奖金曲第一集[新加坡版][WAV+CUE]
- 鹿晗.2015-重启【海蝶】【FLAC分轨】
- 张芸京.2012-小女孩【金牌大风】【WAV+CUE】
- 余天.2002-雄狮魅力金曲2CD(南方金点系列)【南方】【WAV+CUE】
- 银霞.1982-《结·SAYYESMYBOY》台湾复刻版[WAV+CUE]
- 梁汉文1993-火热动感[引进版][WAV+CUE]
- 梁汉文2008-EDMONDHITS48[香港]3CD[WAV+CUE]
- 国风大师纯音系列《童丽-[渭城曲]》1CD[WAV分轨][593.5MB]
- 国风大师纯音系列《许菱子《烧筝2》古筝曲集》1CD[WAV分轨][1.3GB]
- 王子异《1996 Part.2》[320K/MP3][18.29MB]
- 群星.1994-宝丽金最倾情3CD【宝丽金】【WAV+CUE】
- 乐俊亨.2024-同泪【CharioticMusic】【FLAC分轨】