
方法一:
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值的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)