2011-03-03 92 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