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 相关文章推荐
JS实现随机数生成算法示例代码
Aug 08 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
Sep 24 Javascript
jquery模拟SELECT下拉框取值效果
Oct 23 Javascript
JQuery以JSON方式提交数据到服务端示例代码
May 05 Javascript
jquery uploadify 在FF下无效的解决办法
Sep 26 Javascript
详解Angular中$cacheFactory缓存的使用
Aug 19 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
Aug 29 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
Jan 19 Javascript
jquery实现提示语淡入效果
May 05 jQuery
ReactNative中使用Redux架构总结
Dec 15 Javascript
vue2.0学习之axios的封装与vuex介绍
May 28 Javascript
纯js实现无缝滚动功能代码实例
Feb 21 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
咖啡与牛奶
2021/03/03 冲泡冲煮
php牛逼的面试题分享
2013/01/18 PHP
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
javascript静态的url如何传递
2007/05/03 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
JavaScript中奇葩的假值示例应用
2014/03/11 Javascript
js 操作符汇总
2014/11/08 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
详解Python发送邮件实例
2016/01/10 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
python调用staf自动化框架的方法
2018/12/26 Python
python 的topk算法实例
2020/04/02 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
英国珠宝和手表专家:Pleasance & Harper
2020/10/21 全球购物
宿舍违规用电检讨书
2014/02/16 职场文书
2014年会计工作总结
2014/11/27 职场文书
如何写辞职信
2015/05/13 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL