第一次发表哈,不知道写点啥,我是刚学JS没有多久的萌新,各位大佬手下留情,我把前两天学的鼠标拖拽给说一下。
<style>
#box1{
width: 100px;
height: 100px;
background-color: #bfa;
position: absolute;
}
#box2{
width: 100px;
height: 100px;
top: 100px;
left: 100px;
background-color: #bfa;
position: absolute;
}
</style>
<body>
<div id="box1"></div>
<div id="box2"></div>
<script>
//先获取元素拿到要移动的那个box
var box1 = document.getElementById("box1");
//给box1绑定事件,拖拽分为三部分,鼠标按下,鼠标移动,鼠标松开。
//首先先给box1绑定鼠标按下事件
box1.ommousedown = function (event) {
//做一下兼容处理,如果不考虑也可以不加
event = event || window.event;
//获取鼠标点击时,获取鼠标距离box1边缘的距离
var x = event.offset.x;
var y = event.offect.y;
}
//给box1绑定鼠标移动事件
box1.onmousemove = function (event){
event = event || window.event;
//确定鼠标移动时,box1距离浏览器边缘的位置;
//就是鼠标距离浏览器边缘的距离 - 鼠标距box1的距离
var left = event.clientX - x;
var top = event.clientY - y;
//设置box1的left值和top值为移动的距离
box1.style.left = left + "px";
box1.style.top = top + "px";
}
//给box1绑定鼠标松开事件
//当鼠标松开时,box1会在当前位置停留,所以清除鼠标移动事件即可
document.onmouseup = function (){
document.onmousemove = null;
}
</script>