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

如何用JS 获取DIV的坐标位置,第1张

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

方法一:

var odiv=documentgetElementByIdx_x('divid');

alert(odivgetBoundingClientRect()left);

alert(odivgetBoundingClientRect()top);

方法二:

function CPos(x, y)

{

thisx = x;

thisy = y;

}

function GetObjPos(ATarget)

{

var target = ATarget;

var pos = new CPos(targetoffsetLeft, targetoffsetTop);

var target = targetoffsetParent;

while (target)

{

posx += targetoffsetLeft;

posy += targetoffsetTop;

target = targetoffsetParent

}

return pos;

}

var obj = documentgetElementByIdx_x('divid')

alert(GetObjPos(obj)['x']) //x坐标

alert(GetObjPos(obj)['y']) //y坐标

方法三:

function getElementPos(elementId){

var ua = navigatoruserAgenttoLowerCase();

var isOpera = (uaindexOf('opera') != -1);

var isIE = (uaindexOf('msie') != -1 && !isOpera); // not opera spoof

var el = documentgetElementByIdx_x(elementId);

if (elparentNode === null || elstyledisplay == 'none') {

return false;

}

var parent = null;

var pos = [];

var box;

if (elgetBoundingClientRect) //IE

{

box = elgetBoundingClientRect();

var scrollTop = Mathmax(documentdocumentElementscrollTop, documentbodyscrollTop);

var scrollLeft = Mathmax(documentdocumentElementscrollLeft, documentbodyscrollLeft);

return {

x: boxleft + scrollLeft,

y: boxtop + scrollTop

};

}

else

if (documentgetBoxObjectFor) // gecko

{

box = documentgetBoxObjectFor(el);

var borderLeft = (elstyleborderLeftWidth) parseInt(elstyleborderLeftWidth) : 0;

var borderTop = (elstyleborderTopWidth) parseInt(elstyleborderTopWidth) : 0;

pos = [boxx - borderLeft, boxy - borderTop];

}

else // safari & opera

{

pos = [eloffsetLeft, eloffsetTop];

parent = eloffsetParent;

if (parent != el) {

while (parent) {

pos[0] += parentoffsetLeft;

pos[1] += parentoffsetTop;

parent = parentoffsetParent;

}

}

if (uaindexOf('opera') != -1 || (uaindexOf('safari') != -1 && elstyleposition == 'absolute'))

{

pos[0] -= documentbodyoffsetLeft;

pos[1] -= documentbodyoffsetTop;

}

}

if (elparentNode) {

parent = elparentNode;

}

else {

parent = null;

}

while (parent && parenttagName != 'BODY' && parenttagName != 'HTML') { // account for any scrolled

ancestors

pos[0] -= parentscrollLeft;

pos[1] -= parentscrollTop;

if (parentparentNode) {

parent = parentparentNode;

}

else {

parent = null;

}

}

return {

x: pos[0],

y: pos[1]

};

}

var xd = getElementPos("divid");

alert(xdx);

alert(xdy);

js获取DIV的位置坐标的方法大概有两种:

第一种:编辑代码:var odiv=documentgetElementById('divid');

alert(odivgetBoundingClientRect()left);

alert(odivgetBoundingClientRect()top);

第二种:编辑代码function CPos(x, y) {thisx = x; thisy = y;} / 得到对象的相对浏览器的坐标/ function GetObjPos(ATarget {var target = ATarget;var pos = new CPos(targetoffsetLeft, targetoffsetTop);var target =targetoffsetParentwhile (target  posx += targetoffsetLeft  posy += targetoffsetTop; target = targetoffsetParent }return pos; }var obj =  documentgetElementById('divid') alert(GetObjPos(obj)['x'])//x坐标alert(GetObjPos(obj)['y'])//y坐标

SPAN 和 DIV 的区别在于,DIV(division)是一个块级元素,可以包含段落、标题、表格,乃至诸如章节、摘要和备注等。而SPAN 是行内元素,SPAN 的前后是不会换行的,它没有结构的意义,纯粹是应用样式,当其他行内元素都不合适时,可以使用SPAN

<div>

<div class="list" id="name1">fgd</div>

<div class="list" id="name2">dff</div>

<div>$("class")click(function(){

$(this)attr("id");

$(this)html();

});

你的描述不多,估计问题是在前面写onmousedown参数传递的那部分出了问题,你后头看看。

我这个能解决获取从div传过来的那个变量,你把前面弄个循环,就是动态获取了

我弄得是jquery,改成js,你应该明白吧。有问题可以再问

<!DOCTYPE html>

<html>

<head> 

<meta charset="utf-8"> 

</head>

<body>

<div id="Mandari" onclick="myFunction(this)">点击我获取DIV id</div>

<div onclick="modify()">点击我修改DIV Mandari的文本</div>

<script>

function modify()

{

var obj=documentgetElementById("Mandari");

objinnerHTML="Mandari DIV的文本修改了"

}

function myFunction(obj)

{

alert(objid);

}

</script>

</body>

</html>

以上就是关于如何用JS 获取DIV的坐标位置全部的内容,包括:如何用JS 获取DIV的坐标位置、用js 获取一个div坐标的方法是什么、js获取div的id值的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9353903.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存