站长资源网络编程
javascript实现拖动层效果代码(符合标准且兼容IE,chrome,firefox)
简介实例代码一见: 复制代码 代码如下: 1 2 3 4 5 6
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
实例代码二见:
复制代码 代码如下:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style type="text/css">
#test{width:200px; height:200px; background:pink; cursor:move; position:absolute; left:100px; top:100px}
</style>
</head>
<body>
<div id="test"></div>
<script type="text/javascript">
var obj=document.getElementById("test");
var b;
obj.onmousedown=function(e){
b=true;
var divLeft=parseFloat(window.getComputedStyle?window.getComputedStyle(obj,null).left:obj.currentStyle.left);
var divTop=parseFloat(window.getComputedStyle?window.getComputedStyle(obj,null).top:obj.currentStyle.top);
var e=e||event;
var divX=e.clientX-divLeft; //计算鼠标和div边框的距离
var divY=e.clientY-divTop;
document.onmousemove=function(e){
if(b){
var e=e||event; //兼容IE8及以下
obj.style.left=e.clientX-divX+"px";
obj.style.top=e.clientY-divY+"px";
}
}
}
document.onmouseup=function(){
b=false;
}
</script>
</body>
</html>
效果:
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
实例代码三见(拖动把柄):
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
实例代码二见:
复制代码 代码如下:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style type="text/css">
#test{width:200px; height:200px; background:pink; cursor:move; position:absolute; left:100px; top:100px}
</style>
</head>
<body>
<div id="test"></div>
<script type="text/javascript">
var obj=document.getElementById("test");
var b;
obj.onmousedown=function(e){
b=true;
var divLeft=parseFloat(window.getComputedStyle?window.getComputedStyle(obj,null).left:obj.currentStyle.left);
var divTop=parseFloat(window.getComputedStyle?window.getComputedStyle(obj,null).top:obj.currentStyle.top);
var e=e||event;
var divX=e.clientX-divLeft; //计算鼠标和div边框的距离
var divY=e.clientY-divTop;
document.onmousemove=function(e){
if(b){
var e=e||event; //兼容IE8及以下
obj.style.left=e.clientX-divX+"px";
obj.style.top=e.clientY-divY+"px";
}
}
}
document.onmouseup=function(){
b=false;
}
</script>
</body>
</html>
效果:
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
实例代码三见(拖动把柄):
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]