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 相关文章推荐
dropdownlist之间的互相联动实现(显示与隐藏)
Nov 24 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
Nov 30 Javascript
js 获取经纬度的实现方法
Jun 20 Javascript
分享javascript、jquery实用代码段
Oct 20 Javascript
JS滚动到指定位置导航栏固定顶部
Jul 03 Javascript
iframe与主框架跨域相互访问实现方法
Sep 14 Javascript
select标签设置默认选中的选项方法
Mar 02 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
Mar 07 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
Jul 25 Javascript
微信小程序地图实现展示线路
Jul 29 Javascript
JS使用Chrome浏览器实现调试线上代码
Jul 23 Javascript
vue-openlayers实现地图坐标弹框效果
Sep 24 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脚本数据库功能详解(上)
2006/10/09 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
PHP向浏览器输出内容的4个函数总结
2014/11/17 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
js数组与字符串的相互转换方法
2014/07/09 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
JQuery实现定时刷新功能代码
2017/05/09 jQuery
vue引入jq插件的实例讲解
2017/09/12 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
对angularJs中ng-style动态改变样式的实例讲解
2018/09/30 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
微信小程序订阅消息(java后端实现)开发
2020/06/01 Javascript
js实现验证码功能
2020/07/24 Javascript
python中threading超线程用法实例分析
2015/05/16 Python
Python微信库:itchat的用法详解
2017/08/14 Python
Django 再谈一谈json序列化
2020/03/16 Python
pycharm通过anaconda安装pyqt5的教程
2020/03/24 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
电大毕业个人生自我鉴定
2014/03/26 职场文书
教师求职自荐书
2014/06/14 职场文书
幼儿园感恩节活动总结
2015/03/24 职场文书
2015学校师德师风工作总结
2015/04/22 职场文书
运动会表扬稿范文
2015/05/05 职场文书
唐山大地震观后感
2015/06/05 职场文书
安全伴我行主题班会
2015/08/13 职场文书
搞笑婚礼主持词开场白
2015/11/24 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server