飘遥的Blog

C/C++/.NET
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

多浏览器兼容的、最简单的拖动层

Posted on 2007-11-25 17:58  Zzx飘遥  阅读(553)  评论(0编辑  收藏  举报

闲来无事,信手写了个简单的拖动层,支持多浏览器,代码很少。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>最简单的拖动层-飘遥http://xianfen.net</title>
</head>
<body>
<div id="f" style="position: absolute; width: 500px; height: 350px; background-color: #ccc;
top: 150px; left: 200px; z-index: 101; border: solid 1px blue;"
>
<div id="title" style="background-color: Blue; cursor: move; height: 20px; color: #fff;
font-size: 13px; padding-top: 5px; padding-left: 10px;"
>
最简单的拖动层-飘遥http://xianfen.net
</div>
</div>

<script type="text/javascript">
var posX;
var posY;
fdiv
= document.getElementById("f");

document.getElementById(
"title").onmousedown=function(e)
{
if(!e) e = window.event;
posX
= e.clientX - parseInt(fdiv.style.left);
posY
= e.clientY - parseInt(fdiv.style.top);
document.onmousemove
= mousemove;
}

document.onmouseup
= function()
{
document.onmousemove
= null;
}
function mousemove(ev)
{
if(ev==null) ev = window.event;
fdiv.style.left
= (ev.clientX - posX) + "px";
fdiv.style.top
= ev.clientY - posY + "px";
}
</script>

</body>
</html>


 经测试,IE6/7,FF,Opera9,Safari for windows 3 支持的都不错。