拖拽排序列表
思路
界面分为两层:
- 底层,正常列表展示,拖拽的时候不做处理(大牛直接加了动画,原谅我技艺不精,还没实现)
- 顶层,movable-view组件,不长按不展示,之后长按才展示,且没有点击事件。
事件
主要监听:longpress
, touchmove
, touchend
三个事件
longpress
保障长按才有效,并设定许多其他值。
touchmove
滑动的时候触发
- 判断是否需要滑动页面,因为
movable-area
组件 滑动事件被catch掉,无法滑动; - 记录滑动经过的项,在页面【底层】设置经过项为其他样式(算是补足没有滑动动画的缺陷吧,不需要可以删除
lastTarget
字段)。
touchend
滑动结束时触发
获取目标节点索引,将初始拖拽节点移动至目标节点,其中的关键代码为:
list.splice(futureIndex, 0, list.splice(dragElementIndex, 1)[0]); // 移动位置
(这行代码参考了Vue.Draggable中一行代码)
将其他设置置空
代码
代码片段
码云仓库 欢迎star、提问题。鞋鞋
示例
// 初始点击 stratBtn(e){ let index = http.dataIndex(e)[0];//获取当前点击的列表 let busArr = this.data.busArr;//获取列表中的所有数组 let pageY = Number(e.touches[0].pageY);//初始点击的Y点坐标 let busActObj = busArr[index];//单独记录当前点击的数据 this.setData({ //保存数据 sPageY:pageY, mPageY:pageY, moveSortBox:true, clickIndex:index, busActObj:busActObj }) }, // 开始移动 moveBtn(e){ let pageY = Number(e.touches[0].pageY); //记录移动点的坐标 this.setData({ //记录 mPageY:pageY, moveSortBox:true, }) }, // 结束点击 endBtn(e){ let sPageY = Number(this.data.sPageY); //获取初始点的坐标 let busArr = this.data.busArr; //获取数组 let pageY = Number(e.changedTouches[0].pageY);//获取结束点的坐标 let clickIndex = Number(this.data.clickIndex); //初始点的位置 let busActObj = this.data.busActObj;//获取初始点的列表单独数据 let position = parseInt((pageY-sPageY)/90)+(clickIndex+1); //每个盒子固定高度90px (结束点-初始点/盒子高度)+(初始点的位置+1)可以得到移动的位置 busArr.splice(clickIndex,1);//删除初始数据 busArr.splice(position,0,busActObj);//在移动点重新插入数据 this.setData({//保存 moveSortBox:false, busArr:busArr }) },
参考链接
[1] SortableJS Vue.Draggable
[2] SortableJS Sortable
[3] SortableJS演示示例 Vue.Draggable
[4] 好想再胖十斤 25行代码解决小程序的拖拽排序
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]