比较常见的拖动层代码。(兼容FF)
来源:互联网 发布:mac 如何识别iphone 编辑:程序博客网 时间:2024/05/29 16:22
困了睡觉去,下面是网上比较常见的拖动层代码,我自己也写了个,主要是IE下的cilentX/clinetY(FF下pageX/pageY)。
支持FF,简单的封装成类,当然了,具体用起来肯定还有问题,以后逐步再修改吧,先这些了。
明天开始准备切图和实现client地图和走路部分吧。
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> MapBox.htm </title>
<style>...
body
{...}{
margin:0px;
font-size:12px;
line-height:150%;
}
#mapbox
{...}{
left:0px;
top:0px;
border:1px solid #cccccc;
width:500px;
height:525px;
position:absolute;
z-index:86;
}
#mapbox-title
{...}{
left:500px;
height:25px;
background-color:#efefef;
cursor:move;
}
</style>
<script>...
function Drag_Class(id,left,top)
...{
this.id = $(id);
this.left = left;
this.top = top;
this.moveable = false;
}
Drag_Class.prototype.startDrag = function(ev)
...{
var obj = $(this.id);
var ev=ev||window.event;
this.mouse_x = ev.clientX||ev.pageX;
this.mouse_y = ev.clientY||ev.pageY;
this.obj_x = parseInt(obj.style.left.replace("px",""));
this.obj_y = parseInt(obj.style.top.replace("px",""));
this.moveable = true;
}
Drag_Class.prototype.Drag = function(ev)
...{
if (this.moveable)
...{
var obj = $(this.id);
var ev=ev||window.event;
var ev_x = ev.clientX||ev.pageX;
var ev_y = ev.clientY||ev.pageY;
obj.style.left = this.obj_x + ev_x - this.mouse_x + "px";
obj.style.top = this.obj_y + ev_y - this.mouse_y + "px";
}
}
Drag_Class.prototype.stopDrag = function()
...{
if (this.moveable)
...{
this.moveable = false;
}
}
function $(str)
...{
return document.getElementById(str);
}
function addEvent(elm, evType, fn, useCapture)...{
if (elm.addEventListener)...{
elm.addEventListener(evType, fn, useCapture);
return true;
} else if (elm.attachEvent)...{
var r = elm.attachEvent("on"+evType, fn);
return r;
} else ...{
alert("Handler could not be removed");
}
}
function test()
...{
var obj = $("mapbox");
var obj_x = 50;
var obj_y = 50;
obj.style.left = obj_x + "px";
obj.style.top = obj_y + "px";
BoxDrag = new Drag_Class(obj.id, obj_x, obj_y);
if (window.event == undefined)...{
addEvent(obj, "mousedown", BoxDrag.startDrag, "setCapture()");
addEvent(obj, "mousemove", BoxDrag.Drag, "setCapture()");
addEvent(obj, "mouseup", BoxDrag.stopDrag, "releaseCapture()");
}
else
...{
obj.onmousedown = BoxDrag.startDrag;
obj.onmousemove = BoxDrag.Drag;
obj.onmouseup = BoxDrag.stopDrag;
}
}
window.onload =function()
...{
test();
}
</script>
</head>
<body>
<div id="mapbox" style="left:0px;top:0px;">
<div id="mapbox-title">MapBox Title<div>
</div>
</body>
</html>
- 比较常见的拖动层代码。(兼容FF)
- 续:比较常见的拖动层代码。(兼容FF)
- JS控制的可拖动层代码(兼容IE,FF)
- javascript实现可以拖动的层示例(层拖动,兼容IE/FF)
- 拖动层效果,兼容IE和FF!
- 可以拖动的层(兼容firefox)
- 拖动层的javasvript代码 十行代码即可写出兼容版拖动层
- JavaScript实现弹出遮盖拖动层(不穿过浏览器边缘,兼容IE、FF)
- DIV层的拖动和兼容
- 遮罩层提示框,可拖动标题栏(兼容FF)
- 兼容IE FF的幻灯代码
- 兼容IE,FF的收藏代码
- 弹出遮盖拖动层,不穿过浏览器边缘,兼容IE,FF
- 十行代码即可写出兼容版拖动层
- IE和FF兼容之DIV拖动
- 兼容IE和FF的js脚本做法(比较常用)[问题点数:20分]
- 兼容IE和FF的js脚本做法(比较常用)
- 兼容IE和FF的js脚本做法(比较常用)
- 我的学习计划
- ASP.NET加密技术的应用
- 超衫!不同人写的HelloWorld程序
- instanceof和Class.isInstance()
- 两种加密技术共同构建安全的ASP.NET数据访问
- 比较常见的拖动层代码。(兼容FF)
- 电子商务使用数据加密来保护数据库
- ATM关于数据安全的简单介绍
- Java XML解析 - 使用SAX 示例
- Web Service的加密
- 使用ASP2.0中的URL映射技术改变网址
- 系统资源严重不足,无法启动API
- 很快,我就换家了
- 用VS.NET开发三层结构应用程序