下面四个DIV
在chrome浏览器中可以正常拖拽
在IE浏览器拖拽时后面三个div会跳到第一个div的位置,鼠标不能按在div上拖动
在firefox上拖动不了
如何解决???
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<style>
*{
padding: 0;
margin: 0;
}
body{
position: relative;
}
#tzgDiv #tzg1{
position: absolute;
left: 0px;
top: 0px;
}
#tzgDiv #tzg2{
position: absolute;
left: 400px;
top: 0px;
}
#tzgDiv #tzg3{
position: absolute;
left: 800px;
top: 0px;
}
#tzgDiv #tzg4{
position: absolute;
left: 1200px;
top: 0px;
}
</style>
<script>
//拖动div
window.onload = function(){
function dragDiv1(s){
var drags=document.getElementById(s);
drags.onmousedown=function(e){
e=e||window.event; //区分IE浏览器
var xx=e.layerX|| e.offsetX; //相对当前坐标系的border左上角开始的坐标
var yy=e.layerY|| e.offsetY;
document.onmousemove =function(e){
if(e.srcElement.nodeName != "SELECT"){
var ev=e||window.event;
var x=ev.pageX||ev.clientX; //相对整个页面的坐标
var y=ev.pageY||ev.clientY;
var tx=x-xx;
var ty=y-yy;
var bw= window.innerWidth-drags.offsetWidth;
var bh= window.innerHeight-drags.offsetHeight;
if(drags.offsetLeft>=0 && drags.offsetLeft<= bw && drags.offsetTop>=0 && drags.offsetTop<=bh){
drags.style.left=tx+"px";
drags.style.top=ty+"px";
}
if(drags.offsetLeft<0){
drags.style.left=0+"px";
}
if(drags.offsetLeft>bw){
drags.style.left=bw+"px";
}
if(drags.offsetTop<0){
drags.style.top=0+"px";
}
if(drags.offsetTop>bh){
drags.style.top=bh+"px";
}
}
}
document.onmouseup=function(){
document.onmousemove=null;
document.onmouseup=null;
}
}
}
dragDiv1("tzg1");
dragDiv1("tzg2");
dragDiv1("tzg3");
dragDiv1("tzg4");
}
</script>
<body>
<div id="tzgDiv">
<div id="tzg1" style="width: 400px; height: 200px; background-color: blue;"></div>
<div id="tzg2" style="width: 400px; height: 200px; background-color: yellow;"></div>
<div id="tzg3" style="width: 400px; height: 200px; background-color: green;"></div>
<div id="tzg4" style="width: 400px; height: 200px; background-color: red;"></div>
</div>
</body>
</html>