微信小程序之拖拽排序(代码分享)
发布时间 - 2026-01-10 22:41:58 点击率:次index.wxml
<!--index.wxml-->
<view class="container">
<view bindtap="box" class="box" >
<view disable-scroll="true" wx:for="{{content}}" bindtouchmove="move" bindtouchstart="movestart" bindtouchend="moveend" data-index="{{item.id}}" data-main="{{mainx}}" class="main {{mainx == item.id? 'mainmove':'mainend'}}" style="left:{{start.x}}px; top:{{start.y}}px">{{item.content}}</view>
</view>
</view>
index.js
//index.js
//获取应用实例
var app = getApp();
var x,y,x1,y1,x2,y2,index,currindex,n,yy;
var arr1 = [{content:11,id:1},{content:22,id:2},{content:33,id:3},{content:44,id:4},{content:55,id:5}];
Page({
data: {
mainx:0,
content:[{content:11,id:1},{content:22,id:2},{content:33,id:3},{content:44,id:4},{content:55,id:5}],
start:{x:0,y:0}
},
movestart:function(e){
currindex = e.target.dataset.index;
x = e.touches[0].clientX;
y = e.touches[0].clientY;
x1 = e.currentTarget.offsetLeft;
y1 = e.currentTarget.offsetTop;
},
move:function(e){
yy = e.currentTarget.offsetTop;
x2 = e.touches[0].clientX-x+x1;
y2 = e.touches[0].clientY-y+y1;
this.setData({
mainx:currindex,
opacity:0.7,
start:{x:x2,y:y2}
})
},
moveend:function(){
if(y2 != 0){
var arr = [];
for(var i=0; i<this.data.content.length; i++){
arr.push(this.data.content[i]);
}
var nx = this.data.content.length;
n=1;
for(var k=2; k<nx; k++){
if(y2>(52*(k-1)+k*2-26)){
n=k;
}
}
if(y2>(52*(nx-1)+nx*2-26)){
n = nx;
}
console.log(arr);
console.log(arr1)
arr.splice((currindex-1),1);
arr.splice((n-1),0,arr1[currindex-1]);
arr1 = [];
for(var m=0; m<this.data.content.length; m++){
console.log(arr[m]);
arr[m].id = m+1;
arr1.push(arr[m]);
}
// console.log(arr1);
this.setData({
mainx:"",
content:arr,
opacity:1
})
}
}
})
index.wxss
.container {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
padding: 200rpx 0;
box-sizing: border-box;
}
.box{width:300px; position: relative}
.main{width: 90%; height:50px; background: #eee; border: 1px solid #ccc; margin:2px auto; text-align: center; line-height: 50px;}
.mainmove{position: absolute; opacity: 0.7}
.maind{background: #fff; border:1px dashed #efefef;}
.mainend{position: static; opacity: 1;}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# 微信小程序
# 拖拽
# 排序
# 微信小程序图片上传组件实现图片拖拽排序
# 微信小程序开发图片拖拽实例详解
# 微信小程序实现长按拖拽排序功能
# 微信小程序拖拽排序列表的示例代码
# 微信小程序实现拖拽功能
# 微信小程序移动拖拽视图-movable-view实例详解
# 微信小程序canvas拖拽、截图组件功能
# 微信小程序实现图片拖拽调换位置效果(开箱即用)
# 应用实例
# js
# top
# var
# getApp
# app
# mainend
# mainmove
# style
# px
# start
# left
# target
# function
# Page
# currindex
# yy
# mainx
# view
# gt
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何配置和使用缓存?(Redis代码示例)
如何快速登录WAP自助建站平台?
黑客如何通过漏洞一步步攻陷网站服务器?
中山网站推广排名,中山信息港登录入口?
如何有效防御Web建站篡改攻击?
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
简单实现Android验证码
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
如何彻底卸载建站之星软件?
如何构建满足综合性能需求的优质建站方案?
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
百度浏览器如何管理插件 百度浏览器插件管理方法
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
,在苏州找工作,上哪个网站比较好?
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
如何在万网利用已有域名快速建站?
Python数据仓库与ETL构建实战_Airflow调度流程详解
SQL查询语句优化的实用方法总结
🚀拖拽式CMS建站能否实现高效与个性化并存?
如何在万网开始建站?分步指南解析
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
JS经典正则表达式笔试题汇总
Mybatis 中的insertOrUpdate操作
Laravel如何创建自定义中间件?(Middleware代码示例)
图册素材网站设计制作软件,图册的导出方式有几种?
android nfc常用标签读取总结
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
如何在阿里云购买域名并搭建网站?
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
jQuery validate插件功能与用法详解
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Laravel如何使用Blade组件和插槽?(Component代码示例)
中国移动官方网站首页入口 中国移动官网网页登录
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
高防服务器租用指南:配置选择与快速部署攻略
三星网站视频制作教程下载,三星w23网页如何全屏?
Swift开发中switch语句值绑定模式
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
移动端脚本框架Hammer.js
Laravel观察者模式如何使用_Laravel Model Observer配置
如何破解联通资金短缺导致的基站建设难题?

