JavaScript与Div对层定位和移动获得坐标的实现代码


Posted in Javascript onSeptember 08, 2010

1:移动图层 获得点的x轴y轴坐标,从而进行绝对定位(注意:竖拉框会影响 x 轴 y 轴坐标值)

var x,y,z,down=false,obj 
function init(){ 
obj=event.srcElement //事件触发对象 
obj.setCapture() //设置属于当前对象的鼠标捕捉 
z=obj.style.zIndex //获取对象的z轴坐标值 
//设置对象的z轴坐标值为100,确保当前层显示在最前面 
obj.style.zIndex=100 
x=event.offsetX //获取鼠标指针位置相对于触发事件的对象的X坐标 
y=event.offsetY //获取鼠标指针位置相对于触发事件的对象的Y坐标 
down=true //布尔值,判断鼠标是否已按下,true为按下,false为未按下 
} 
function moveit(){ 
//判断鼠标已被按下且onmouseover和onmousedown事件发生在同一对象上 
if(down&&event.srcElement==obj){ 
with(obj.style){ 
/*设置对象的X坐标值为文档在X轴方向上的滚动距离加上当前鼠标指针相当于文档对象的X坐标值减鼠标按下时指针位置相对于触发事件的对象的X坐标*/ 
// posLeft=event.x-x; 
posLeft=document.body.scrollLeft+event.x-x; 
/*设置对象的Y坐标值为文档在Y轴方向上的滚动距离加上当前鼠标指针相当于文档对象的Y坐标值减鼠标按下时指针位置相对于触发事件的对象的Y坐标*/ 
// posTop=event.y-y; 
posTop=document.body.scrollTop+event.y-y; 
window.status="posLeft="+posLeft+",posTop="+posTop; 
window.status=window.status+"clientX="+event.clientX+"clientY="+event.clientY+"scrollLeft="+document.body.scrollLeft+"scrollTop="+document.body.scrollTop+",event.y="+event.y+",event.x"+event.x; 
} 
} 
} 
function stopdrag(){ 
//onmouseup事件触发时说明鼠标已经松开,所以设置down变量值为false 
down=false 
obj.style.zIndex=z //还原对象的Z轴坐标值 
obj.releaseCapture() //释放当前对象的鼠标捕捉 
//alert("X:"+obj.style.left+";Y:"+obj.style.top); 
}

2:为了使图层在不同分辨率浏览器上显示同样的效果,我们需要对图层定位设置

第一步:对最外层 进行相对定位

<div id="t" style="position:relative;top:0px;left:0px;"> </div>

第二步:在相对里面进行决对定位(这样图层就不会随着分辨率的改变而变形)

<div id="t" style="position:relative;top:0px;left:0px;"> 
<div id="tt" style="position:absolute;top:9px;left:317px;"> 
<IMG id="hong" SRC="main/1.jpg" WIDTH="8" HEIGHT="8" BORDER="0" 
ALT="" /> 
</div> 
<div >省略</div> 
<div >省略</div> 
<div >省略</div> 
<div >省略</div> 
<div >省略</div> 
<div >省略</div> 
<div >省略</div> 
<div >省略</div> 
<div >省略</div>

//===================(层移动方法调用)=============================
<div onmousedown=init() onmousemove=moveit() 
onmouseup=stopdrag() 
style="position:absolute;left:60;top:190;width:5;height:5;z-index:99;;border:1px solid #000000;"> 
D 
</div> 
</div>
Javascript 相关文章推荐
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
Apr 01 Javascript
javascript跑马灯悬停放大效果实现代码
Dec 12 Javascript
jquery实现顶部向右伸缩的导航区域代码
Sep 02 Javascript
JavaScript组件开发完整示例
Dec 15 Javascript
实例解析jQuery中proxy()函数的用法
May 24 Javascript
详解jQuery中ajax.load()方法
Jan 25 Javascript
jQuery插件zTree实现的多选树效果示例
Mar 08 Javascript
jQuery扩展_动力节点Java学院整理
Jul 05 jQuery
如何测量vue应用运行时的性能
Jun 21 Javascript
layui 弹出层回调获取弹出层数据的例子
Sep 02 Javascript
Vue切换div显示隐藏,多选,单选代码解析
Jul 14 Javascript
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
javascript循环变量注册dom事件 之强大的闭包
Sep 08 #Javascript
Javascript的一种模块模式
Sep 08 #Javascript
jQeury淡入淡出需要注意的问题
Sep 08 #Javascript
jQuery之浮动窗口实现代码(两种方法)
Sep 08 #Javascript
Jquery ThickBox插件使用心得(不建议使用)
Sep 08 #Javascript
jquery的Tooltip插件 qtip使用详细说明
Sep 08 #Javascript
jquery的Theme和Theme Switcher使用小结
Sep 08 #Javascript
You might like
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
2015/12/14 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
php经典趣味算法实例代码
2020/01/21 PHP
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
一句话JavaScript表单验证代码
2009/08/02 Javascript
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
angular4自定义表单控件[(ngModel)]的实现
2018/11/23 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
简述Python中的进程、线程、协程
2016/03/18 Python
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
Python实现命令行通讯录实例教程
2016/08/18 Python
Python断言assert的用法代码解析
2018/02/03 Python
Python向Excel中插入图片的简单实现方法
2018/04/24 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
华为2019校招笔试题之处理字符串(python版)
2019/06/25 Python
django models里数据表插入数据id自增操作
2020/07/15 Python
使用css3制作登录表单的步骤
2014/04/07 HTML / CSS
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
Gap英国官网:Gap UK
2018/07/18 全球购物
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
跟单文员的岗位职责
2013/11/14 职场文书
化学教学随笔感言
2014/02/19 职场文书
联欢晚会主持词
2014/03/25 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
ant design vue的form表单取值方法
2022/06/01 Vue.js
SpringBoot详解执行过程
2022/07/15 Java/Android