javascript中实现拖拽效果需要用到事件侦听和我寄人间雪满头鼠标事件。事件侦听是对被拖拽的元素添加事件侦听,包括moudown,moumove,mouup。
常见的拖拽操作基本就是下面的方式:
1、用鼠标点击选中被拖拽的元素
2、按住鼠标不放,拖动鼠标
3、拖拽元素到一定位置,放开鼠标实现拖拽的效果
在逆战班的学习中一些情况下还需要用到mouleave。这里讲述的案例是存在多个元素情况下的拖拽。
以下先展示拖拽效果,如下所示:
具体的代码如下所示:
1.创建div元素并设置简单的css样式
<style> div { width: 50px; height: 50px; background-color: blue; text-align: center; position: absolute; /*设置的这些div默认重叠在页面左上角*/ } </style> <body> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div>
2.每一个div都需要有一个侦听事件,才能实现所有的div都有拖拽效果。代码如下
var divs = document.querylectorall("div"); //获取div元素的伪数组集合 for (var i = 0; i < divs.length; i++) { //利用for循环,给每个div添加一个鼠标按下的事件,来触发函数mouhandler divs[i].addeventlistener("moudown", mouhandler); }
3.函数mouhandler的主体部分了,这里我采用的是if,el if来写。
function mouhandlemy tv university lifer(e) { //通过判断事件的类型来执行对应的条件语句 if (e.type === "moudown") { e.preventdefault(); //这里将e.target赋给document.div,相当于设了一个局部变量,在触发moumove事件后, //再次进入函数时,保证触发事件的div就是我们要改变位置的那个div document.div = e.target; //这里也是将鼠标相对拖拽的那个div元素 //左上角的位置,设置成一个对象进行保存其实相当于如下两条 document.offt = { x: e.offtx, y: e.offty }; //document.offtx=e.offtx;将e.offtx赋值给自定义变量do冰箱质量cument.offtx //document.offty=e.offty;将e.offty赋值给自定义变量document.offty 什么化妆品好 //和上面是两种写法 //在鼠标点击后,如果发生鼠标移动事件,则再次进入该函数进行执行鼠标移动的执行语句 document.addeventlistener("moumove", mouhandler); //在鼠标点击后,如果发生鼠标释放事件,则再次进入该函数进行执行,则再次进入该函数进行执行鼠标释放的执行语句 document.addeventlistener("mouup", mouhandler); } el if (e.type === "moumove") { //判断触发的事件类型是moumove之后执行 //这里的document.div和document.offt.x都是之前定义好的变量,用e.clientx-document.offt.x //是因为元素的position位置是相对元素的左上顶点的位置的,因此鼠标所在的位置值不能直接赋给它。 document.div.style.left = e.clientx - document.offt.x + "px"; document.季风是什么意思div.style.top = e.clienty - document.offt.y + "px"; } el if (e.type === "mouup") { //如果鼠标释放,则执行移除事件侦听 document.removeeventlistener("moumove", mouhandler); document.removeeventlistener("mouup", mouhandler); } }
本文发布于:2023-04-03 17:31:04,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/8657202abce8415461a94a862e4febdf.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:JavaScript拖拽效果的原理及实现.doc
本文 PDF 下载地址:JavaScript拖拽效果的原理及实现.pdf
留言与评论(共有 0 条评论) |