关于在while循环中判断的奇怪问题,“=”和“==”
本帖最后由 ahking 于 2013-03-05 14:33:22 编辑
var obj = document.getElementById(id);
var cen = document.getElementById("myDiv");
// 获得元素的左偏移量
var left = obj.offsetLeft;
// 获得元素的顶端偏移量
var top = obj.offsetTop;
// 循环获得元素的父级控件,累加左和顶端偏移量
//如果用 while (obj == obj.offsetParent),就不能得到正确位置
while (obj = obj.offsetParent) {
left += obj.offsetLeft;
top += obj.offsetTop;
}
// 设置层的坐标并显示
cen.style.left = left + "px";
// 层的顶端距离为元素的顶端距离加上元素的高
cen.style.top = top + el.offsetHeight + "px";
while (obj = obj.offsetParent)