原生js 实现节点拖拽
来源:互联网 发布:京东销售数据分析 编辑:程序博客网 时间:2024/06/05 00:38
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style> #drug { width: 100px; height: 100px; background-color: #e4393c; position: absolute; } </style></head><body><div id="drug"></div><script> var drugs = function (element, callback) { callback = callback || function () { } var param = { top: 0, left: 0, cX: 0, cY: 0, pause: false, }; function getCss(ele, key) { return ele.currentStyle ? ele.currentStyle[key] : document.defaultView.getComputedStyle(ele, null)[key]; } var lefts = getCss(element, "left"); var tops = getCss(element, "top"); param.left = lefts !== "auto" ? lefts : 0; param.top = tops !== "auto" ? tops : 0; element.onmousedown = function (event) { // console.log(1); param.pause = true; event = event || window.event; param.cX = event.clientX; param.cY = event.clientY; }; document.onmousemove = function (event) { event = event || window.event; if (param.pause) { // console.log(2); var nowX = event.clientX, nowY = event.clientY; var disX = nowX - param.cX, disY = nowY - param.cY; element.style.left = parseInt(param.left) + disX + "px"; element.style.top = parseInt(param.top) + disY + "px"; } }; document.onmouseup = function () { //console.log(3); param.pause = false; var lefts = getCss(element, "left"), tops = getCss(element, "top"); param.left = lefts !== "auto" ? lefts : 0; param.top = tops !== "auto" ? tops : 0; } }(document.getElementById("drug"));</script></body></html>
0 0
- 原生js实现节点拖拽
- 原生js 实现节点拖拽
- 原生js实现拖拽
- 原生js获取节点
- 原生js节点操作
- 原生js实现拖拽功能基本思路
- jQuery方法原生js实现 --- siblings兄弟节点
- 【JS】原生js实现拖拽功能基本思路
- React.js实现原生js拖拽效果及思考
- React.js实现原生js拖拽效果及思考
- React.js实现原生js拖拽效果及思考
- React.js实现原生js拖拽效果及思考
- js原生拖拽
- JS原生拖拽
- JS原生追加子节点
- html5+原生js实现拖放与拖拽功能
- 使用原生技js实现拖拽效果
- 原生js 简单拖拽
- webpack多页应用架构专题系列 4
- java.io.IOException: java.util.concurrent.ExecutionException: java.net.SocketException: Software cau
- Linux sed精确匹配和替换
- 关于SQL中IN 和NOT IN的用法注意事项
- 嵌入式中 ARM的几种工作模式 以及异常模式的优先级
- 原生js 实现节点拖拽
- OLED/LCD电视该如何选择?你要关注这些方面
- [LeetCode] Binary Tree Inorder Traversal
- 10 个你有可能不知道的Android Studio技巧
- java顺序表
- QT5.6 qml加载html5
- MSSQL 表字段区分大小写
- **Error**: You must have `libtool' installed
- mysql多维数据仓库指南--第一篇第2章(2)