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 相关文章推荐
jQuery操作Select的Option上下移动及移除添加等等
Nov 18 Javascript
js中document.write使用过程中的一点疑问解答
Mar 20 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
Jan 22 Javascript
js实现在网页上简单显示时间的方法
Mar 02 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
Aug 04 Javascript
AngularJS基础 ng-list 指令详解及示例代码
Aug 02 Javascript
vue.js $refs和$emit 父子组件交互的方法
Dec 20 Javascript
Vue下路由History模式打包后页面空白的解决方法
Jun 29 Javascript
jQuery 点击获取验证码按钮及倒计时功能
Sep 20 jQuery
vue地址栏直接输入路由无效问题的解决
Nov 15 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
Nov 01 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
Mar 19 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
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
PHP CURL使用详解
2019/03/21 PHP
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
js中取得变量绝对值的方法
2015/01/03 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
wxPython 入门教程
2008/10/07 Python
python分析apache访问日志脚本分享
2015/02/26 Python
Python处理XML格式数据的方法详解
2017/03/21 Python
使用Python+wxpy 找出微信里把你删除的好友实例
2019/02/21 Python
微信小程序python用户认证的实现
2019/07/29 Python
Python中有几个关键字
2020/06/04 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
英国打印机墨水和碳粉商店:Printerinks
2017/06/30 全球购物
总经理职责范文
2013/11/08 职场文书
实习单位鉴定评语
2014/04/26 职场文书
鉴定评语大全
2014/05/05 职场文书
机电一体化毕业生自荐信
2014/06/19 职场文书
大足石刻导游词
2015/02/02 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技
Golang map映射的用法
2022/04/22 Golang