JS实现简单拖拽效果


Posted in Javascript onJune 21, 2017

本文实例为大家分享了JS实现拖拽效果的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
#wrap {
position: relative;
border: 1px solid #000;
width: 800px;
height: 500px;
} 
#drog {
position: absolute;
left: 0;
top: 0;
width: 100px;
height: 100px;
background: red;
cursor: move;
}
</style>
</head>
<body>
<div id="wrap">
<div id="drog"></div>
</div> 
<script type="text/javascript" src="startmove.js"></script>
<script type="text/javascript">
(function(){
var drog = document.querySelector('#drog');
/*
1.记录按下的时候的鼠标位置
2.记录按下的时候元素的位置 
*/
drog.onmousedown = function(e){
var startElY = css(drog,"top");
var startElX = css(drog,"left");
var startMouseX = e.clientX;
var startMouseY = e.clientY;

/*
求出鼠标移动的距离,
操作元素也移动相应的距离

为了可以一直跟随,所以添加给document
*/
document.onmousemove = function(e){
var nowMouseX = e.clientX;
var nowMouseY = e.clientY;
var disX = nowMouseX - startMouseX;
var disY = nowMouseY - startMouseY;
var x = disX + startElX;
var y = disY + startElY;
css(drog,"left",x);
css(drog,"top",y);
};
document.onmouseup = function(){
document.onmousemove = null;
document.onmouseup = null;
};
};
})(); 
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery应该如何来设置改变按钮input的onclick事件
Dec 10 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
Jan 07 Javascript
js中opener与parent的区别详细解析
Jan 14 Javascript
简单的jquery左侧导航栏和页面选中效果
Aug 21 Javascript
JavaScript学习笔记之Cookie对象
Jan 22 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
Mar 03 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
Jun 25 Javascript
JS实现简单抖动效果
Jun 01 Javascript
浅谈JavaScript find 方法不支持IE的问题
Sep 28 Javascript
vue项目中mock.js的使用及基本用法
May 22 Javascript
JS原形与原型链深入详解
May 09 Javascript
对vuex中store和$store的区别说明
Jul 24 Javascript
详解Vue路由开启keep-alive时的注意点
Jun 20 #Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
Jun 20 #jQuery
详解Node.js access_token的获取、存储及更新
Jun 20 #Javascript
详解angular 中的自定义指令之详解API
Jun 20 #Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
Jun 20 #Javascript
BootStrap Select清除选中的状态恢复默认状态
Jun 20 #Javascript
Vue实现路由跳转和嵌套
Jun 20 #Javascript
You might like
PHP has encountered an Access Violation
2007/01/15 PHP
php 文本文件的读取效率
2012/02/10 PHP
Function eregi is deprecated (解决方法)
2013/06/21 PHP
学习php中的正则表达式
2014/08/17 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
四个PHP非常实用的功能
2015/09/29 PHP
基于jQuery实现点击同时更改两个iframe的网址
2010/07/01 Javascript
jquery怎样实现ajax联动框(一)
2013/03/08 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
基于编写jQuery的无缝滚动插件
2014/08/02 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
H5上传本地图片并预览功能
2017/05/08 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
2018/02/10 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
2019/05/12 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
2020/07/17 Javascript
js实现弹窗猜数字游戏
2020/11/26 Javascript
用Python展示动态规则法用以解决重叠子问题的示例
2015/04/02 Python
Python中的ctime()方法使用教程
2015/05/22 Python
python中__call__内置函数用法实例
2015/06/04 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
Python3安装psycopy2以及遇到问题解决方法
2019/07/03 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
心理学专业毕业生推荐信范文
2013/11/21 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
高中军训感言800字
2014/03/05 职场文书
报案材料怎么写
2015/05/25 职场文书
2016新春团拜会致辞
2015/08/01 职场文书
css height属性中的calc方法详解
2021/06/03 HTML / CSS