基于JS实现移动端左滑删除功能
发布时间 - 2026-01-11 02:33:14 点击率:次废话不多说了,直接给大家贴代码了,具体代码如下所示:
<div class="wrap pay-wrap" id="lists">
@foreach (var item in Model)
{
<div class="pay-list" style="height:90px;margin: 10px 15px 10px 15px;" id="@item.UID">
<div class="pay-each" style="height:90px;margin-bottom:0; border-radius: 5px;">
<div class="pay-order-teacher" style="background-image:url(@item.DiseaseInformation.ListPicPath);height:70px;border-radius:0" onclick="Turn('@item.DiseaseInfoID')"></div><div class="detaildiv" style="padding:0;padding-top:10px" onclick="Turn('@item.DiseaseInfoID')">
@(item.DiseaseInformation.Title.GetSubstr(60))
</div>
<div style="height:20px;margin-right:10px;line-height:20px;vertical-align:middle" onclick="Turn('@item.DiseaseInfoID')">
<span style="float:left;color: #808080;line-height:2;vertical-align:bottom;width:70%">来源:@(item.DiseaseInformation.Source)</span>
<span style="float:left;color: #808080;line-height:2;vertical-align:bottom;width:30%"><img src="~/Content/img/yueduliang.png" style="height:20px" /> @(item.DiseaseInformation.BrowseNum)</span>
</div>
<div class="pay-order-swiper" style="height:90px;margin-left:15px;width:80px"><a href="javascript:;" rel="external nofollow" onclick="del('@item.UID')" class="btn btn-red pay-order-btn pay-order-del" style="height:90px;line-height:90px;width:105px;font-size:18px">删除</a>
</div>
</div>
</div>
}
</div>
jquery.productswipe.js代码
/********************
* 基于jquery模拟移动端列表左右滑动删除
* author:yaohuitao@100tal.com
* ******************/
function prevent_default(e) {
e.preventDefault();
}
function disable_scroll() {
$(document).on('touchmove', prevent_default);
}
function enable_scroll() {
$(document).off('touchmove', prevent_default);
}
var mytouch = function (obj) {
//滑动删除
var Drags = {};
Drags.dragtag = false;//拖动状态
Drags.dragstart = true;//拖动开始标志
Drags.datatransx = 0;
$(obj)
.on('touchstart mousedown', function (e) {
if (!($(e.target).hasClass("pay-order-swiper") || $(e.target).parents().hasClass("pay-order-swiper"))) {
closeallswipe(); //点击还原
if (e.originalEvent.targetTouches) {
Drags.dragx = e.originalEvent.targetTouches[0].pageX;
Drags.dragy = e.originalEvent.targetTouches[0].pageY;
} else {
Drags.dragx = e.pageX;
Drags.dragy = e.pageY;
}
if ($(e.currentTarget).attr("data-transX")) {
Drags.datatransx = parseInt($(e.currentTarget).attr("data-transX"));
}
Drags.dragtag = true;
Drags.dragstart = true;
}
})
.on('touchmove mousemove', function (e) {
if (Drags.dragtag) {
$(e.currentTarget).removeClass('animatedh');
$(e.currentTarget).addClass('dragstart'); //添加禁止选择
var change = 0;
if (e.originalEvent.targetTouches) {
change = e.originalEvent.targetTouches[0].pageX - Drags.dragx;
changey = e.originalEvent.targetTouches[0].pageY - Drags.dragy;
} else {
change = e.pageX - Drags.dragx;
changey = e.pageY - Drags.dragy;
}
if (Drags.dragstart) {
if (Math.abs(changey) < 20) {
showswiperfbn();
}
} else {
showswiperfbn();
}
function showswiperfbn() {
if (Math.abs(change) > 20) {
Drags.dragstart = false;
if (change < -20) {
change = change + Drags.datatransx + 20;
} else {
change = change + Drags.datatransx - 20;
}
change = Math.min(Math.max(-300, change), 0);
$(e.currentTarget).css('transform', 'translate3D(' + change + 'px,0px,0px)');
$(e.currentTarget).attr("data-transX", change);
disable_scroll();
}
}
}
})
.on('touchend mouseup', function (e) {
var left = parseInt($(e.currentTarget).attr("data-transX"));
var new_left;
if ($(e.currentTarget).hasClass("open")) {
if (left > -110) {
new_left = 0;
$(e.currentTarget).removeClass('open');
} else {
new_left = -120;
}
} else {
if (left < -20) {
new_left = -120;
$(e.currentTarget).addClass('open');
} else {
new_left = 0;
}
}
$(e.currentTarget).removeClass('dragstart');
$(e.currentTarget).css('transform', 'translate3D(' + new_left + 'px,0px,0px)');
$(e.currentTarget).attr("data-transX", new_left);
$(e.currentTarget).addClass('animatedh');
Drags.dragtag = false;
enable_scroll()
});
}
function closeallswipe() {
$('.pay-list .pay-each').css('transform', 'translate3D(0px,0px,0px)');
$('.pay-list .pay-each').removeClass('open');
$('.pay-list .pay-each').addClass('animatedh');
$('.pay-list .pay-each').attr("data-transX", 0);
}
页面使用 执行mytouch($('.pay-list .pay-each'));
总结
以上所述是小编给大家介绍的基于JS实现移动端左滑删除功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# js实现移动端左滑删除
# 基于JS实现移动端向左滑动出现删除按钮功能
# js仿QQ中对联系人向左滑动、滑出删除按钮的操作
# NodeJs的fs读写删除移动监听
# JavaScript实现删除
# 移动和复制文件的方法
# 给大家
# 拖动
# 小编
# 在此
# 说了
# 不多
# 所示
# 所述
# 给我留言
# 感谢大家
# 疑问请
# 有任何
# line
# GetSubstr
# middle
# span
# vertical
# align
# Title
# onclick
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
青岛网站建设如何选择本地服务器?
深入理解Android中的xmlns:tools属性
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
Android GridView 滑动条设置一直显示状态(推荐)
微信h5制作网站有哪些,免费微信H5页面制作工具?
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
网站制作软件有哪些,制图软件有哪些?
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
新三国志曹操传主线渭水交兵攻略
如何在云主机快速搭建网站站点?
利用vue写todolist单页应用
如何彻底删除建站之星生成的Banner?
如何在宝塔面板创建新站点?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
如何快速搭建高效WAP手机网站?
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
PythonWeb开发入门教程_Flask快速构建Web应用
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
如何在景安云服务器上绑定域名并配置虚拟主机?
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
如何为不同团队 ID 动态生成多个独立按钮
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
php485函数参数是什么意思_php485各参数详细说明【介绍】
如何在香港免费服务器上快速搭建网站?
用v-html解决Vue.js渲染中html标签不被解析的问题
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
html5的keygen标签为什么废弃_替代方案说明【解答】
如何在企业微信快速生成手机电脑官网?
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
Python图片处理进阶教程_Pillow滤镜与图像增强
Laravel如何使用Eloquent进行子查询
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
香港网站服务器数量如何影响SEO优化效果?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
bing浏览器学术搜索入口_bing学术文献检索地址
打造顶配客厅影院,这份100寸电视推荐名单请查收
如何用VPS主机快速搭建个人网站?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?

