如何用JS 获取DIV的坐标位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用JS 获取DIV的坐标位置相关的知识,希望对你有一定的参考价值。

asp 中如何用JS获取多个 DIV的位置坐标 , DIV 可以拖动的那种

js获取DIV的位置坐标的方法有三种,分别如下:

方法一:

?
var odiv=document.getElementByIdx_x(\'divid\');
alert(odiv.getBoundingClientRect().left);
alert(odiv.getBoundingClientRect().top);
  方法二:

?
function CPos(x, y)

this.x = x;
this.y = y;


function GetObjPos(ATarget)

var target = ATarget;
var pos = new CPos(target.offsetLeft, target.offsetTop);

var target = target.offsetParent;
while (target)

pos.x += target.offsetLeft;
pos.y += target.offsetTop;

target = target.offsetParent

return pos;


var obj = document.getElementByIdx_x(\'divid\')
alert(GetObjPos(obj)[\'x\']) //x坐标
alert(GetObjPos(obj)[\'y\']) //y坐标

  方法三:

?

function getElementPos(elementId)
var ua = navigator.userAgent.toLowerCase();
var isOpera = (ua.indexOf(\'opera\') != -1);
var isIE = (ua.indexOf(\'msie\') != -1 && !isOpera); // not opera spoof
var el = document.getElementByIdx_x(elementId);
if (el.parentNode === null || el.style.display == \'none\')
return false;

var parent = null;
var pos = [];
var box;
if (el.getBoundingClientRect) //IE

box = el.getBoundingClientRect();
var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
return
x: box.left + scrollLeft,
y: box.top + scrollTop
;

else
if (document.getBoxObjectFor) // gecko

box = document.getBoxObjectFor(el);
var borderLeft = (el.style.borderLeftWidth) ? parseInt(el.style.borderLeftWidth) : 0;
var borderTop = (el.style.borderTopWidth) ? parseInt(el.style.borderTopWidth) : 0;
pos = [box.x - borderLeft, box.y - borderTop];

else // safari & opera

pos = [el.offsetLeft, el.offsetTop];
parent = el.offsetParent;
if (parent != el)
while (parent)
pos[0] += parent.offsetLeft;
pos[1] += parent.offsetTop;
parent = parent.offsetParent;


if (ua.indexOf(\'opera\') != -1 || (ua.indexOf(\'safari\') != -1 && el.style.position == \'absolute\'))


pos[0] -= document.body.offsetLeft;
pos[1] -= document.body.offsetTop;


if (el.parentNode)
parent = el.parentNode;

else
parent = null;

while (parent && parent.tagName != \'BODY\' && parent.tagName != \'html\') // account for any scrolled

ancestors
pos[0] -= parent.scrollLeft;
pos[1] -= parent.scrollTop;
if (parent.parentNode)
parent = parent.parentNode;

else
parent = null;


return
x: pos[0],
y: pos[1]
;


var xd = getElementPos("divid");
alert(xd.x);
alert(xd.y);
参考技术A

div事先在输入框的下面的而且是隐藏的,当点击表情图标,div通过onclick激活JS某个函数,该函数内必须会有一段使隐藏的div显示出来的方法语句,是通过这样个流程实现的。

怎样去定位这个表情DIV的位置的,这个css里面有一个叫position的方法,利用坐标x,y实现div位置任意改变。

把div设置成相对定位或绝对定位,总之是让其拥有left,top值,当鼠标移进div的时候获取鼠标的坐标,用鼠标的left减去div的left值就是鼠标在div里面的left值,即鼠标在div中的x坐标,
同理,用鼠标的top值减去div的top值就是鼠标在div里面的top值,即鼠标在div中的y坐标。

参考技术B div的position必须为absolute才能获取它的坐标可以这样获取 x=document.getElementById('div的id').style.lefty=document.getElementById('div的id').style.top 参考技术C var top=document.getElementById["div1"].style.top;
var left=document.getElementById["div1"].style.left;
参考技术D 多个?你是用动作触发 还是就是想先获得?

abaqus 如何用python输出坐标 不是在后处理当中。就是在建模当中 我需要获取一些点的坐标信息

可以有两种做法:
第一种:在输出场里面增加‘COORD’这样就可以在后续提取的时候直接提取‘COORD’场里面的DATA就是,节点在当前的坐标值;
第二种:提取提取初始坐标,然后提取‘U’场中的数据,和初始坐标求和计算就可以得到当前节点的坐标位置。
参考技术A 会使用宏录制吗? 会的话 建模过程中 用query 提取点坐标, 然后在rpy文件中 找提取坐标的语句就可以了。 参考技术B 这是个技术问题,不会

以上是关于如何用JS 获取DIV的坐标位置的主要内容,如果未能解决你的问题,请参考以下文章

如何用js 获取一个div的坐标?

js如何获取鼠标在某元素移动时~鼠标指针在元素中的坐标?

如何用JS动态获取浏览器的宽高

如何用JS获取鼠标滚动高度,再触发相应的事件。速救!!!

如何用js获取div下的A标签,并自动点击超链接

js获取指定坐标的元素名,网上大都是获取指定元素的坐标。。。