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 相关文章推荐
做网页的一些技巧
Feb 01 Javascript
理解Javascript_06_理解对象的创建过程
Oct 15 Javascript
jquery利用event.which方法获取键盘输入值的代码
Oct 09 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
Apr 19 Javascript
jQuery操作基本控件方法实例分析
Dec 31 Javascript
详解Vue-cli代理解决跨域问题
Sep 27 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
Dec 28 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
Feb 05 Javascript
mpvue中使用flyjs全局拦截的实现代码
Sep 13 Javascript
JavaScript ES2019中的8个新特性详解
Feb 20 Javascript
小谈angular ng deploy的实现
Apr 07 Javascript
Node.js API详解之 tty功能与用法实例分析
Apr 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
理解php原理的opcodes(操作码)
2010/10/26 PHP
解析Ubuntu下crontab命令的用法
2013/06/24 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
PHP实现websocket通信的方法示例
2018/08/28 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
tp5框架基于ajax实现异步删除图片的方法示例
2020/02/10 PHP
jQuery 使用手册(一)
2009/09/23 Javascript
javascript 精粹笔记
2010/05/09 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
jQuery事件绑定和委托实例
2014/11/25 Javascript
JavaScript中Date.toSource()方法的使用教程
2015/06/12 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
js初始化验证实例详解
2016/11/26 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
你准备好迎接vue3.0了吗
2020/04/28 Javascript
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
python获取地震信息 微信实时推送
2019/06/18 Python
python tornado使用流生成图片的例子
2019/11/18 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
职工趣味运动会方案
2014/02/10 职场文书
大一新生期末自我评价
2014/09/12 职场文书
捐资助学感谢信
2015/01/21 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
pandas进行数据输入和输出的方法详解
2022/03/23 Python