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 版本的文本输入框检查器Input Check
Jul 09 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
Jun 23 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
Oct 19 Javascript
20个实用的JavaScript技巧分享
Nov 28 Javascript
jquery实现表单输入时提示文字滑动向上效果
Aug 10 Javascript
js实现图片上传预览原理分析
Jul 13 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
Aug 22 Javascript
对vue下点击事件传参和不传参的区别详解
Sep 15 Javascript
javaScript实现游戏倒计时功能
Nov 17 Javascript
vue学习之Vue-Router用法实例分析
Jan 06 Javascript
Vue使用screenfull实现全屏效果
Sep 17 Javascript
vue的hash值原理也是table切换实例代码
Dec 14 Vue.js
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 ajax 静态分页过程形式
2011/09/02 PHP
JavaScript面向对象编程
2008/03/02 Javascript
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
随窗体滑动的小插件sticky源码
2013/06/21 Javascript
js confirm()方法的使用方法实例
2013/07/13 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
DOM 高级编程
2015/05/06 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
JavaScript代码生成PDF文件的方法
2016/02/26 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
angularjs 表单密码验证自定义指令实现代码
2016/10/27 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
Vue如何使用混合Mixins和插件开发详解
2020/02/05 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
python解析模块(ConfigParser)使用方法
2013/12/10 Python
Python使用xlrd模块操作Excel数据导入的方法
2015/05/26 Python
python实现排序算法解析
2018/09/08 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
python实现海螺图片的方法示例
2019/05/12 Python
pandas 时间格式转换的实现
2019/07/06 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
行政管理人员精品工作推荐信
2013/11/04 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
企业安全生产演讲稿
2014/05/09 职场文书
街道务虚会发言材料
2014/10/20 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书