首页 > 其他分享 >拖拽demo

拖拽demo

时间:2023-09-01 15:55:05浏览次数:27  
标签:target demo let var position document data 拖拽

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/echarts.5.4.3.js"></script>
</head>
<body>
<div id="main" draggable="true" style="width: 400px;height:300px;border:1px solid #f00;"></div>
<div id="box" style="margin:30px;border:2px solid #000;height:800px;position:relative">
</div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
legend: {
data: ['销量']
},
xAxis: {
data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
<script>
var picEle = document.getElementById("main");
var boxEle = document.getElementById("box"),
position = {};
picEle.ondragstart = function(e) {
console.log("ondragstart")
let target = e || window.event;
target.dataTransfer.setData('text', target.target.id)
console.log(target)
}
boxEle.ondragover = function(e) {
let target = e || window.event;
console.log(target)
target.preventDefault();
position.offsetX = target.offsetX
position.offsetY = target.offsetY
}
boxEle.ondrop = function(e) {
let target = e || window.event;
let data = target.dataTransfer.getData('text');
document.querySelector("#" + data).style.position = 'absolute'
document.querySelector("#" + data).style.left = position.offsetX + 'px'
document.querySelector("#" + data).style.top = position.offsetY + 'px'
e.target.appendChild(document.querySelector("#" + data));
}
</script>
</body>
</html>

标签:target,demo,let,var,position,document,data,拖拽
From: https://www.cnblogs.com/mrt-yyy/p/17672090.html

相关文章

  • ServiceDemo
    增加(Create)@ServicepublicclassUserService{@AutowiredprivateUserRepositoryuserRepository;publicUserDTOcreateUser(UserDTOuserDTO){Useruser=newUser();//将UserDTO的属性设置到User对象中//...user......
  • HTML5新特性 拖拽使用心得
    本文主要介绍了拖拽和拖放的几个属性先构建一个框架<div id="wrap">        <img id="drag" src="" draggable="true">    <div id="drop" >        <span>目标区域</span>    </div></div>draggable......
  • Tlist_Demo
    typeTSmt=recordSName:string[16];Feeder:Integer;Dushu:Real;end;Psmt=^TSmt;varList:TList;//List:Tlist<Psmt>;泛型指针TlistusesGenerics.Collections;procedureTForm2.Button1Click(Sender:TObject);varbuf:Ps......
  • 断言Assert.assertEquals(sourceCollection.get(0).getDemoValue(),1);
    Assert.assertEquals(sourceCollection.get(0).getDemoValue(),1);这段代码的作用是验证集合中第一个元素的demoValue属性是否等于预期的值1。如果相等,就没有问题;如果不相等,会抛出异常,表明测试失败或代码出现了问题。......
  • 【Element】el-dialog 内使用 el-image 并添加 preview-src-list 预览,拖拽导致图片预
    现象el-dialog内使用el-image并添加preview-src-list预览,拖拽导致图片预览不完整<el-dialogwidth="500"v-model="visible":title="activeProp?.name"@close="handleClose":draggable="true"//可拖拽......
  • 【Vue】vue3 v-draggable 拖拽指令封装
    说明需求:实现一个拖拽指令,可在父元素区域任意拖拽元素,同时如果传入的值为father,则拖拽的时候以父元素为拖拽对象思路:1、设置需要拖拽的元素为absolute,其父元素为relative。2、鼠标按下(onmousedown)时记录目标元素当前的left和top值。3、鼠标移动(onmousemove)时计算每......
  • el-dialog实现拖拽移动
    实现原理:利用vue创造一个自定义指令,绑定到需要拖拽移动的el-dialog组件上,在自定义指令中处理弹窗拖拽。1.utils文件夹下创建dialog-directive.js文件.注:其中constdragDom=el.querySelector('.el-dialog')||el.querySelector('.ele-form-dialog')这句的||,是因为有小......
  • junit_demo
    参考:JUnit5单元测试框架的使用教程与简单实例_junit5使用_pan_junbiao的博客-CSDN博客Junit单元测试例子demo_twentyfour4ever的博客-CSDN博客 目录结构 pom.xml<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta......
  • pdfjs-dist v2.11.338写个react demo
    app.jsximport'./App.css'import*aspdfjsfrom"pdfjs-dist";import"pdfjs-dist/web/pdf_viewer.css";import{useEffect,useRef,useState}from'react'import{PDFViewer,PDFLinkService,EventBus}from'p......
  • 服务拆分-案例Demo
        ......