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 相关文章推荐
jQuery EasyUI中对表格进行编辑的实现代码
Jun 10 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
Jul 31 Javascript
javascript中的注释使用与注意事项小结
Sep 20 Javascript
搭建pomelo 开发环境
Jun 24 Javascript
Javascript实现多彩雪花从天降散落效果的方法
Feb 02 Javascript
详解addEventListener的三个参数之useCapture
Mar 16 Javascript
JavaScript创建一个object对象并操作对象属性的用法
Mar 23 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
Sep 20 jQuery
jQuery实现鼠标移到某个对象时弹出显示层功能
Aug 23 jQuery
echarts实现获取datazoom的起始值(包括x轴和y轴)
Jul 20 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
Jul 20 Javascript
JavaScript实现瀑布流布局的3种方式
Dec 27 Javascript
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
第十二节 类的自动加载 [12]
2006/10/09 PHP
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
2016/12/10 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
JavaScript DOM基础
2015/04/13 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
利用nvm管理多个版本的node.js与npm详解
2017/11/02 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
django框架如何集成celery进行开发
2017/05/24 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
Python count函数使用方法实例解析
2020/03/23 Python
基于python实现计算且附带进度条代码实例
2020/03/31 Python
详解python中的闭包
2020/09/07 Python
python中HTMLParser模块知识点总结
2021/01/25 Python
客服实习的个人自我鉴定
2013/10/20 职场文书
厂长助理岗位职责
2013/12/27 职场文书
合伙经营协议书
2014/04/18 职场文书
校园环保建议书
2014/05/14 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
教师年度考核个人总结
2015/02/12 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
Python实现信息轰炸工具(再也不怕说不过别人了)
2021/06/11 Python