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 相关文章推荐
用Javscript实现表单复选框的全选功能
May 25 Javascript
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
Jun 14 Javascript
JavaScript mapreduce工作原理简析
Nov 25 Javascript
Javascript拓展String方法小结
Jul 08 Javascript
jquery鼠标滑过提示title具体实现代码
Aug 06 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
Aug 13 Javascript
JQuery实现鼠标移动到图片上显示边框效果
Jan 09 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
Dec 06 Javascript
js Canvas实现圆形时钟教程
Sep 19 Javascript
javascript基本数据类型和转换
Mar 17 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
Apr 22 Javascript
微信小程序websocket实现即时聊天功能
May 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
6个超实用的PHP代码片段
2015/08/10 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
详解使用php-cs-fixer格式化代码
2020/09/16 PHP
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
javascript中call和apply的用法示例分析
2015/04/02 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
2015/04/24 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
vue-router 学习快速入门
2017/03/01 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
基于node简单实现RSA加解密的方法步骤
2019/03/21 Javascript
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
详解Python if-elif-else知识点
2018/06/11 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
基于Python实现人脸自动戴口罩系统
2020/02/06 Python
Python文件操作方法详解
2020/02/09 Python
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
工作迟到检讨书
2014/02/21 职场文书
国际贸易专业个人鉴定
2014/02/22 职场文书
七匹狼男装广告词
2014/03/21 职场文书
小区推广策划方案
2014/06/06 职场文书
云南省召开党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
2014年大堂经理工作总结
2014/11/21 职场文书
2014年小学少先队工作总结
2014/12/18 职场文书
预备党员转正材料
2014/12/19 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python