如何利用js移动div层
2010-04-29 17:29
281 查看
如何利用js移动div层 [2010-1-13 9:16:59]
引用地址:http://www.398588.com/Article/T8/88.aspx
有很多人在做网站的时候经常会用到js拖动层的效果,还要有可拖动效果,现在我把我做的这个鼠标移动层效果的代码贴出来,给大家分享一下,本人在Mozilla Firefox、Internet Explorer、谷歌浏览器等几种浏览器中测试通过。
代码如下:
<div id="movediv" style="width:250px;height:200px;border:1px #000 solid; position:absolute;left:400px;top:218px;">
<div id="movespan">朋友:用鼠标来拖走我吧!我在这里太久了!</div>
<div style="background:red; height:50px;"></div>
</div>
<script language="JavaScript" type="text/javascript">
var dragdrop={
registerDragdropHandler:function(handler,target,cursor){ // 注册鼠标移动的一些事件。
var _IsMousedown=false,_ClickLeft=0,_ClickTop=0;
var _hDom=this.get(handler);
var _tDom=this.get(target);
_hDom.style.cursor=cursor||"move";
function startDrag(evt){ // 按下鼠标左键时的事件。
evt=window.event||evt; // 获取当前事件对象。
_IsMousedown=true; // 记录已经准备开始移动了。
_ClickLeft=evt.clientX-parseInt(_tDom.style.left); // 记录当前坐标轴。
_ClickTop=evt.clientY-parseInt(_tDom.style.top);
}
function doDrag(evt){ // 鼠标开始移动时的事件。
evt=window.event||evt; // 获取当前事件对象。
if(!_IsMousedown)return false; // 如果_IsMousedown不等于真了返回。
_tDom.style.left=evt.clientX-_ClickLeft+"px"; // 把鼠标当前移动的位置赋值给div
_tDom.style.top=evt.clientY-_ClickTop+"px"; // 当前位置减去开始位置就是层当前存放的位置。
}
function endDrag(){ // 释放鼠标左键时的事件。
if(_IsMousedown){ // 如果_IsMousedown还为真那么就赋值为假。
if(this.isIE) _tDom.releaseCapture(); //该函数从当前的窗口释放鼠标捕获,并恢复通常的鼠标输入处理。
_IsMousedown=false;
}
}
_hDom.onmousedown=startDrag; // 鼠标按下事件。
document.onmouseup=endDrag; // 鼠标释放事件。
document.onmousemove=doDrag; // 鼠标移动事件。
_tDom.onselectstart=_tDom.oncontextmenu=function(){return false;}; // 禁止选择和右键菜单。
},
isIE:(navigator.appName=="Microsoft Internet Explorer"), // 判断是否为IE。
get:function(element){ // 通过一串字符返回一个对象。
if(typeof(element) == "string"){
return document.getElementById(element);
}
return element;
}
};
// 使用方式如下:
dragdrop.registerDragdropHandler("movespan","movediv");
</script>
以上仅供参考,本站原创文章,如有转载请带链接注明出自 网络自由人
引用地址:http://www.398588.com/Article/T8/88.aspx
有很多人在做网站的时候经常会用到js拖动层的效果,还要有可拖动效果,现在我把我做的这个鼠标移动层效果的代码贴出来,给大家分享一下,本人在Mozilla Firefox、Internet Explorer、谷歌浏览器等几种浏览器中测试通过。
代码如下:
<div id="movediv" style="width:250px;height:200px;border:1px #000 solid; position:absolute;left:400px;top:218px;">
<div id="movespan">朋友:用鼠标来拖走我吧!我在这里太久了!</div>
<div style="background:red; height:50px;"></div>
</div>
<script language="JavaScript" type="text/javascript">
var dragdrop={
registerDragdropHandler:function(handler,target,cursor){ // 注册鼠标移动的一些事件。
var _IsMousedown=false,_ClickLeft=0,_ClickTop=0;
var _hDom=this.get(handler);
var _tDom=this.get(target);
_hDom.style.cursor=cursor||"move";
function startDrag(evt){ // 按下鼠标左键时的事件。
evt=window.event||evt; // 获取当前事件对象。
_IsMousedown=true; // 记录已经准备开始移动了。
_ClickLeft=evt.clientX-parseInt(_tDom.style.left); // 记录当前坐标轴。
_ClickTop=evt.clientY-parseInt(_tDom.style.top);
}
function doDrag(evt){ // 鼠标开始移动时的事件。
evt=window.event||evt; // 获取当前事件对象。
if(!_IsMousedown)return false; // 如果_IsMousedown不等于真了返回。
_tDom.style.left=evt.clientX-_ClickLeft+"px"; // 把鼠标当前移动的位置赋值给div
_tDom.style.top=evt.clientY-_ClickTop+"px"; // 当前位置减去开始位置就是层当前存放的位置。
}
function endDrag(){ // 释放鼠标左键时的事件。
if(_IsMousedown){ // 如果_IsMousedown还为真那么就赋值为假。
if(this.isIE) _tDom.releaseCapture(); //该函数从当前的窗口释放鼠标捕获,并恢复通常的鼠标输入处理。
_IsMousedown=false;
}
}
_hDom.onmousedown=startDrag; // 鼠标按下事件。
document.onmouseup=endDrag; // 鼠标释放事件。
document.onmousemove=doDrag; // 鼠标移动事件。
_tDom.onselectstart=_tDom.oncontextmenu=function(){return false;}; // 禁止选择和右键菜单。
},
isIE:(navigator.appName=="Microsoft Internet Explorer"), // 判断是否为IE。
get:function(element){ // 通过一串字符返回一个对象。
if(typeof(element) == "string"){
return document.getElementById(element);
}
return element;
}
};
// 使用方式如下:
dragdrop.registerDragdropHandler("movespan","movediv");
</script>
以上仅供参考,本站原创文章,如有转载请带链接注明出自 网络自由人
相关文章推荐
- [Web]如何利用js库dom-drag.js最简单化实现移动图层和点击实现div居上问题
- 【Cocos2d js系列】利用cc.RotateBy或者RotateTo旋转一个对象以后如何复原
- 如何利用js操作cookie实现记住密码功能
- 利用css如何让嵌套的div层不继承父div层的透明度?
- 如何利用js取得eWebEditor编辑器的内容
- 如何利用AdMob让移动应用流量价值最大化
- Three.js利用dat.GUI如何简化试验流程详解
- 如何利用AdMob让移动应用流量价值最大化
- 如何利用原生js更改css样式
- 在js中如何实现与脱拽,移动,还有吸附功能
- HTML、js:如何利用Location对象的常用属性和方法重新加载、刷新页面
- 不能一刀切,移动创业者如何利用手机预装实现推广?
- 如何解决移动应用中 PeekMessage 调用的资源利用问题
- 如何利用JS判断当前来路域名并跳转到指定页面
- 利用js实现遮罩以及弹出可移动登录窗口
- 切换导航标签实现当前标签颜色改变以及利用js如何准确获取当前页面url网址信息
- 如何利用js操作cookie实现记住密码功能
- 如何利用js操作cookie实现记住密码功能
- Javascript_Ajax:如何在前台利用JS处理$.ajax() request 中得到的不同结果?
- js如何判断客户端是iOS还是Android等移动终端