微信小程序实现手指拖动选项排序
网络编程 2021-07-04 15:02www.168986.cn编程入门
这篇文章主要介绍了微信小程序实现手指拖动选项排序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了微信小程序实现手指拖动选项排序的具体代码,供大家参考,具体内容如下
效果
wxml
<view> <view class="dileititle">手指移动选项排序</view> <view style="width:740rpx;height:80vh;overflow-y:auto;padding:0 90rpx;margin:auto;" id="movebox"> <block wx:for="{{list}}" wx:key="index"> <view catchtouchmove="listitemmove" catchtouchend="listitemmove" data-index="{{index}}" class="flex1 dileiitemlist" id="movelist{{index}}" style="left:0;right:0;{{nowmoveindex==index?('position:absolute;:'+move+'px;height:'+itemheight+'px;'):''}}"> <view class="{{moveoutindex==index?'changemovenow':''}}" style="height:0;transition: height 0.2s;"></view> <view class="ranknum">{{index+1}}</view> <view class="flex1" style="border-radius:10rpx;width:440rpx;position:relative;color:#fff;"> <view style="flex:1;text-align: center;margin-right: 20rpx;padding: 20rpx 20rpx;background:#8eb1f7;border-radius:10rpx;">{{item.member.nickname}}</view> </view> </view> </block> </view> </view> <button class='tijiao' catchtap="lastsubmit">确定</button>
js
let app = getApp() app.unitgameinfo = {"members":[{"member":{"nickname":"小程序照片合成","job":"ckext"},},{"member":{"nickname":"高球丸子"},},{"member":{"nickname":"DRobertdsf","job":"黄金"},},{"member":{"nickname":"erer","job":"ckext"},},{"member":{"nickname":"just do it","job":"黄金"},},{"member":{"nickname":"888"},}],}; Page({ data: { }, onLoad: function (options) { var info = app.unitgameinfo,list; list = info.members; this.setData({options,info,list}); this.getwxmlcode("#movebox",(resp)=>{ this.setData({movebox:resp}) setTimeout(()=>{this.getwxmlcode("#movelist0",(res)=>{ this.setData({movelist0:res}) var jiange = res.-resp.; var yiban = res.bottom - res. + jiange; this.setData({ itemheight:res.bottom - res., jiange:yiban, //两条中间到另一条的距离 jianqu:resp.-(res.bottom - res.)/2, //位置要减去距离 }) })},300) }) }, getwxmlcode(str,cal){ const query1 = wx.createSelectorQuery() query1.select(str).boundingClientRect() query1.selectViewport().scrollOffset() query1.exec((res) => { if(cal) cal(res[0]) }) }, listitemmove(e){ // console.log(e) if(e.type=="touchmove"){ var move = e.touches[0].pageY-this.data.itemheight; var moveoutindex = parseInt((move-this.data.jianqu)/this.data.jiange); if(e.currentTarget.dataset.index<=moveoutindex) moveoutindex++; this.moveoutindex = moveoutindex; this.setData({nowmoveindex:e.currentTarget.dataset.index,move,moveoutindex}) }else{ let index = e.currentTarget.dataset.index,score = this.data.list; let data = {...score[index]}; score.splice(index,1); if(index<=this.moveoutindex-1) this.moveoutindex--; score.splice(this.moveoutindex,0,data); this.setData({list:score,moveoutindex:-1,nowmoveindex:-1}); } }, onShow: function(){ }, lastsubmit(){ console.log(this.data.list) }, })
wxss
page{background-color: #fff;font-size:30rpx;text-align: center;color: #2952a5;} .tijiao{ color: #fff;font-size: 30rpx;line-height: 2.8; margin: 20rpx auto 20rpx;width:80vw;position: fixed;bottom: 50rpx;left: 10vw; background-color: #2952a5;border-radius:50rpx; } .dileiitemlist{justify-content: center;padding-:30rpx;flex-wrap: wrap;} .dileititle{font-size: 32rpx;line-height: 100rpx;} .ranknum{width:60rpx;height: 60rpx;line-height: 60rpx;text-align: center;border-radius:50%;border:1rpx solid #2952a5;margin-right:30rpx;} .changemovenow{width:100%;height:60px!important;} .flex1{display:flex;align-items:center;}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程