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 相关文章推荐
List the Stored Procedures in a SQL Server database
Jun 20 Javascript
Knockoutjs的环境搭建教程
Nov 26 Javascript
两种常用的javascript数组去重方法思路及代码
Mar 26 Javascript
jquery判断浏览器后退时候弹出消息的方法
Aug 11 Javascript
node.js中的fs.fchownSync方法使用说明
Dec 16 Javascript
javascript实现图片跟随鼠标移动效果的方法
May 13 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
Jun 05 Javascript
jQuery根据ID、CLASS、等获取对象的实例
Dec 04 Javascript
Vue实现动态显示textarea剩余字数
May 22 Javascript
mui back 返回刷新页面的实例
Dec 06 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
Feb 24 jQuery
H5实现手机拍照和选择上传功能
Dec 18 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实现更新中间关联表数据的两种方法
2014/09/01 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python文件操作整理汇总
2014/10/21 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
Python正则匹配判断手机号是否合法的方法
2020/12/09 Python
Python 一句话生成字母表的方法
2019/01/02 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
C和C++经典笔试题附答案解析
2014/08/18 面试题
学校十一活动方案
2014/02/01 职场文书
电气工程自动化求职信
2014/03/14 职场文书
网络工程师自荐书范文
2014/04/01 职场文书
高中生操行评语大全
2014/04/25 职场文书
演讲稿的写法
2014/05/19 职场文书
上诉答辩状范文
2015/05/22 职场文书
新年晚会开场白
2015/05/29 职场文书
2016年艾滋病宣传活动总结
2016/04/01 职场文书
Java移除无效括号的方法实现
2021/08/07 Java/Android
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL
java中如何截取字符串最后一位
2022/07/07 Java/Android