2011-03-03 178 views
0

我该如何更改Javascript的来源?例如,如果我要在div上调用offsetTop,它实际上告诉我它离原点有多远。 Javascript的起源位于页面的左上角,但我该如何移动它?更改Javascript坐标的原点

我想使它在左下角。

回答

1

您的信息关于offsetTop不正确。从MDC

的offsetTop返回电流元件相对于offsetParent节点的顶部的距离。

尽管您可以使用一些数学运算来计算从元素的上边缘到屏幕/页面底部的距离,但您不能以您想要的方式“移动”原点。使用jQuery(为了清楚起见,所以代码不与跨浏览器特征检测打乱了):

var $doc = $(document), 
    docHeight = $doc.height(), 
    $elt = $('#some-element-id'), 
    top = $elt.offset().top, 

    // this is the value you're interested in 
    originShiftedTop = docHeight - top; 

Demo。尝试用不同的Result窗格高度重新运行小提琴。


注意,jQuery的.offset()返回元素相对于文件的位置,不像element.offsetTop DOM的标准特性。 jQuery的.position()函数的行为如同element.offsetTop