设为首页 加入收藏

TOP

拖拽
2017-10-13 10:49:48 】 浏览:8751
Tags:拖拽

     今天来说下  拖拽效果,纯手工。下面会有代码和注释。

首先,要想能拖动div就考虑到三个事件,鼠标按下  鼠标拖动   鼠标松开。

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
/*给div来些样式 最主要的是绝对定位*/
#dIv{
width: 100px;
height: 100px;
background: red;
position: absolute;
}
</style>
</head>
<body>
<div id="dIv"></div>
<script>
//获取我们的div
var dIv = document.getElementById("dIv");
//鼠标按下 获取event事件
dIv.onmousedown=function(e){
var e = event || window.event;
//dis 指的是鼠标的当前位置 减去 div距离屏幕左边的距离 也就是鼠标的位置距离到div左外边框的位置
var dis = e.clientX - dIv.offsetLeft;
//dir 指的是鼠标的当前位置 减去div距离屏幕上边的距离 也就是鼠标的位置距离到div上外边框的位置
var dir = e.clientY - dIv.offsetTop;
//鼠标移动事件
document.onmousemove=function(e){
var e = event || window.event;
//l 就是div要左右移动的距离 拖动时鼠标的位置减去 dis
var l = e.clientX-dis;
//x 就是div要上下移动的距离 拖动时鼠标的位置减去 dir
var x = e.clientY-dir;
dIv.style.left=l+"px";
dIv.style.top=x+"px";
//鼠标松开事件 鼠标松开时
document.onmouseup=function(){
//把鼠标按下事件 和移动事件 清除 为零
document.onmousedown=null;
document.onmousemove=null;
}
}
}
</script>
</body>
</html>

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇js Array操作 下一篇轮播图无缝轮播

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目