当前位置: 首页 > news >正文

php学校网站源码网页设计与制作个人网站模板

php学校网站源码,网页设计与制作个人网站模板,网站备案密码收不到,网站免费站vue拖动排序,vue使用 HTML5 的draggable拖放 API实现内容拖并排序,并更新数组数据 vue使用 HTML5 的draggable拖放 API实现内容拖并排序,并更新数组数据 实现效果实现代码1.模板部分2. 添加拖拽相关方法3. 在 data 中添加拖拽状态变量4. 添加…

vue拖动排序,vue使用 HTML5 的draggable拖放 API实现内容拖并排序,并更新数组数据

vue使用 HTML5 的draggable拖放 API实现内容拖并排序,并更新数组数据

  • 实现效果
  • 实现代码
    • 1.模板部分
    • 2. 添加拖拽相关方法
    • 3. 在 data 中添加拖拽状态变量
    • 4. 添加样式优化(可选)
  • 功能说明:

实现效果

HTML5 draggable拖拽API实现内容拖动排序

实现代码

1.模板部分

将你的循环部分修改为支持拖拽:

vue

<template><div v-for="(item, index) in imgs" :key="index":class="['text_pics_box_item']"draggable="true"@dragstart="dragStart($event, index)"@dragover.prevent@dragenter="dragEnter($event, index)"@drop="drop($event, index)"@dragend="dragEnd"@mouseover="hovervariableItem(index)" @mouseleave="unhovervariableItem"><div class="text_pics_box_item_img"><img  :src="item"></div></template>

2. 添加拖拽相关方法

在 methods 中添加以下方法:

methods: {// 拖拽开始dragStart(event, index) {event.dataTransfer.effectAllowed = 'move';event.dataTransfer.setData('text/plain', index);this.draggingIndex = index;// 添加拖拽样式event.target.style.opacity = '0.5';event.target.style.transform = 'scale(0.95)';},// 拖拽进入dragEnter(event, index) {event.preventDefault();if (this.draggingIndex !== index) {// 可以添加视觉反馈,比如高亮目标位置const targetElement = event.target.closest('.text_pics_box_item');if (targetElement) {targetElement.style.boxShadow = '0 0 0 2px #3855d5';}}},// 拖拽放置drop(event, index) {event.preventDefault();const draggedIndex = parseInt(event.dataTransfer.getData('text/plain'));if (draggedIndex !== index) {// 重新排列数组this.reorderImages(draggedIndex, index);}// 清除视觉反馈const targetElement = event.target.closest('.text_pics_box_item');if (targetElement) {targetElement.style.boxShadow = '';}},// 拖拽结束dragEnd(event) {// 恢复元素样式event.target.style.opacity = '';event.target.style.transform = '';// 清除所有元素的视觉反馈const items = document.querySelectorAll('.text_pics_box_item');items.forEach(item => {item.style.boxShadow = '';});this.draggingIndex = null;},// 重新排列图片数组reorderImages(fromIndex, toIndex) {const images = [...this.form.imgs];const [movedItem] = images.splice(fromIndex, 1);images.splice(toIndex, 0, movedItem);// 更新数组this.form.imgs = images;},
}

3. 在 data 中添加拖拽状态变量

data() {return {draggingIndex: null,  // 当前正在拖拽的元素索引}
}

4. 添加样式优化(可选)

<style> 部分添加一些拖拽相关的样式:

.text_pics_box_item {transition: all 0.2s ease;
}.text_pics_box_item.drag-over {border: 2px dashed #3855d5;background-color: rgba(56, 85, 213, 0.1);
}

功能说明:

draggable="true": 使元素可拖拽
@dragstart: 拖拽开始时记录被拖拽元素的索引
@dragover.prevent: 阻止默认行为,允许放置
@dragenter: 拖拽进入目标元素时的视觉反馈
@drop: 放置元素时重新排列数组
@dragend: 拖拽结束时清理样式

http://www.dtcms.com/a/443402.html

相关文章:

  • 管理员怎么看网站在线留言响应式手机网站模版
  • 【多线程】线程休眠(Thread Sleep)的底层实现
  • 徐州网站建设哪家好薇商城网站建设开发多少钱
  • 网站结算系统怎么做制作网页时一般需要兼容哪些浏览器
  • 郑州哪有做网站的公司各种网站
  • 贵阳网站开发多少钱黄埔做网站要多少钱
  • 尖塔游戏:二分答案
  • ps做网站分辨率自适应西安建设市场诚信信息平台网站
  • 免费提供网站建设设立公司流程以及需要的资料
  • 10.4交作业
  • 南京做网站南京乐识专心义乌做网站
  • 朋友圈营销企业整站seo
  • 网站手机版下悬浮条怎么做做美食网站需求分析报告
  • 京东Java后台开发面试题及参考答案(下)
  • error 403 网站拒绝显示南京外贸网站建站
  • 网站做可以退款吗网站建设要点
  • AutowiredAnnotationBeanPostProcessor执行原理分析
  • 易营宝智能建站免费推广网站
  • html做游戏网站昆明网站设计报价
  • 国科信息学薪火计划模拟赛Round2题解
  • 一文讲通JS普通函数与箭头函数的区别
  • 如何学好电脑维修,想学电脑维修技术去哪里学?
  • 4s店网站建设计划手机微网站平台登录入口
  • [Linux基础——Lesson11.Shell运行原理 (王婆传媒) ]
  • 网站开发工程师任职要求设计app界面的软件
  • 网站更换域名 换程序 SEO沧州做网站的大公司
  • 网站建设与管理教学计划企信网是干什么的
  • 苍溪县建设局网站天元建设集团有限公司是什么性质
  • 企业网站建设与实施调查报告有什么好字体可以导入wordpress
  • seo工作流程图优化建站