1
我想獲得我的帆布的X和Y座標,爲此我使用this question中建議的解決方案。爲了便於參考,這裏是我使用的功能(包括被一點點調試警報消息):爲什麼offsetParent忽略我的文章標籤?
function getCumulativeOffset(obj) {
var left, top;
left = top = 0;
if (obj.offsetParent) {
do {
alert("obj id = " + obj.tagName + " (" + obj.id + ")");
left += obj.offsetLeft;
top += obj.offsetTop;
} while (obj = obj.offsetParent);
}
return {
x : left,
y : top
};
};
但是,我沒有得到我期望的結果。現在,我已經將我的問題追蹤到getCumulativeOffset函數,而不是在我的HTML中選擇文章標記。在這裏,有關HTML:
<body>
<article>
<canvas id="pizza" width="460" height="460">Your browser does not support the HTML5 canvas.</canvas>
</article>
<div id="temp"></div>
</body>
相關的CSS:
article, aside, figure, footer, header, hgroup, nav, section {
display:block
}
body {
font: normal medium 'Gill Sans', 'Gill Sans MT', 'Goudy Bookletter 1911', 'Linux Libertine O', 'Liberation Serif', Candara, serif;
padding: 0;
margin: 0 auto;
width: 40em;
line-height: 1.75;
word-spacing: 0.1em
}
article {
text-align: center;
}
#pizza {
display: inline-block
}
出於某種原因,當我測試的功能,似乎商品標籤並不像我期望的畫布offsetParent。下面是輸出:
- OBJ ID =帆布(比薩)
- BJ ID = BODY()
誰能請解釋一下嗎?