JavaScript拖拽
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>JS拖拽</title> <style> *{padding: 0; margin: 0; } .box{width: 100px;height: 100px;background: blue;position: absolute; } </style> <script src="jquery.min.js"></script> <script> var isDown = false; var ObjLeft, ObjTop, posX, posY, obj,offsetX,offsetY; $(function(){ obj=$("#box"); obj.onmousedown = down; document.onmousemove = move; document.onmouseup = up; }) function down(event){ isDown=true; obj.style.cursor = "move"; ObjLeft = obj.offset().left; ObjTop = obj.offset().top; } </script> <script> var isDown = false; var ObjLeft, ObjTop, posX, posY, obj,offsetX,offsetY; window.onload = function() { obj = document.getElementById('box'); obj.onmousedown = down; document.onmousemove = move; document.onmouseup = up; } function down(event) { obj.style.cursor = "move"; isDown = true; ObjLeft = obj.offsetLeft; ObjTop = obj.offsetTop; posX = parseInt(mousePosition(event).x); posY = parseInt(mousePosition(event).y); offsetX=posX-ObjLeft; offsetY=posY-ObjTop; } function move(event) { if (isDown == true) { var x=mousePosition(event).x-offsetX; var y=mousePosition(event).y-offsetY; var w = document.documentElement.clientWidth - obj.offsetWidth; var h = document.documentElement.clientHeight - obj.offsetHeight; console.log(x + ',' + y); x=Math.min(w,Math.max(0,x)); y=Math.min(h,Math.max(0,y)); obj.style.left = x + 'px'; obj.style.top = y + 'px'; } } function up() { isDown = false; } function mousePosition(evt) { var xPos, yPos; evt = evt || window.event; if (evt.pageX) { xPos = evt.pageX; yPos = evt.pageY; } else { xPos = evt.clientX + document.body.scrollLeft - document.body.clientLeft; yPos = evt.clientY + document.body.scrollTop - document.body.clientTop; } return { x: xPos, y: yPos } } </script></head><body><div id="box" class="box"></div></body></html>
转载于:https://www.cnblogs.com/znj211985211/p/5340876.html
JavaScript拖拽相关推荐
- Javascript 拖拽的一些高级的应用——逐行分析代码,让你轻松了解拖拽的原理...
我们看看之前的拖拽在周围有东西的时候会出现什么问题? 在高级浏览器中不会有啥问题,我们放到IE7下面测试一下,问题就出来了.如图 我们可以很清楚的看到,文字都已经被选中了.那这个用户体验很不好,用起来 ...
- 功能强大的JavaScript 拖拽库 SortableJS
功能强大的JavaScript 拖拽库 SortableJS 官网:http://www.sortablejs.com/ 示例: 配置项: var sortable = new Sortable(el ...
- 简易而又灵活的Javascript拖拽框架(五)
====================================================== 注:本文源代码点此下载 ================================= ...
- JavaScript 拖拽功能
JavaScript 拖拽功能 - Web前端工程师面试题讲解 拖动图片 <img draggable="true"> 一开始 html 页面 <style> ...
- 简易而又灵活的Javascript拖拽框架(四)
一.开篇 似乎拖拽已经被写烂了,没得写的了,可是我这次又来了- 上一次写的是跨列拖放,这次我要带给大家的是跨页拖放. 可以到这里来看看效果:示例效果 说明:1.如果将方框拖动到页签上立刻释放掉的话,则 ...
- HTML+JavaScript拖拽进度条和点击进度条(显示进度条百分比)
实现进度条拖拽功能和点击功能,并显示占比 实现图: 附加改变区域位置,不影响进度条 完整代码 <!DOCTYPE html> <html lang="zh_CN" ...
- JavaScript拖拽函数
/此方法用于拖拽/ //参数:div1是父盒子(主要是控制要拖拽的盒子不能超出父类),div2是子盒子(即要拖动的盒子) //注意:div必须加绝对定位才能拖拽 function tuozhuai(d ...
- JavaScript拖拽事件
window.onload =function(){ /* * 拖拽box1元素* - 拖拽的流程 1.当鼠标在被拖拽元素上按下时,开始拖拽 onmousedown * 2.当鼠标移动时被拖拽元素跟随 ...
- JavaScript|拖拽|仿Android手机九点连线开锁
最简单的JavaScript拖动代码 <script> var xx=0,yy=0; function a(v) { xx=event.x-v.offsetLeft; yy=event.y ...
最新文章
- 面试:你知道Java中的回调机制吗?
- 3.11 程序示例--逻辑运算-机器学习笔记-斯坦福吴恩达教授
- 新的信息论诞生前的若干问题分析
- mysql死锁释放时间参数_【Mysql】mysql 事务未提交导致死锁 Lock wait timeout exceeded; try restarting transaction 解决办法...
- 线性表的链式存储集成
- 网页对联广告代码效果大全
- 推荐:HP大中华区总裁孙振耀退休十五天后九大感言
- catia怎么进入装配_catia装配详细教程
- puzzle(1024)帐篷、星之战
- 设计性思考维模型及步骤(上)
- 1.计算机指令系统,深入学习计算机指令系统唐书
- [python] 使用正则表达式验证email地址是否有效
- 知乎问答推广怎么做,知乎问答营销技巧
- Linq中的group by多表多字段
- Stc8硬件乘除法器_16位除16位_汇编
- 【踩坑笔记】animate.css无效【非版本问题】
- autoCaptcha谷歌浏览器扩展工具-调用api识别验证码图片
- Android App隐藏Navigation Bar
- 对循环平稳谱函数的理解
- 补题:西南民族大学第十一届程序设计竞赛(同步赛)
热门文章
- Unity3d Time的使用
- GRPC golang版源码分析之客户端(二)
- Android Service演义
- Head First FILE Stream Pointer Overflow
- IDA Pro动态调试Android so文件
- 【问链财经-区块链基础知识系列】 第四十六课 区块链如何作用于医药行业
- c执行cmd pdf2swf_PDF2SWF简单使用
- JZOJ 5376. 【NOIP2017提高A组模拟9.19】Candy
- JZOJ 1322. 硬币游戏
- 最短路径算法(一) Dijkstra算法(贪心算法)