2008-10-17 34 views
0

window.scrollMaxY可以通過IE和舊版本的Firefox中的屬性進行設置,但在FF3中嘗試時,它會顯示「無法設置此屬性,因爲它只有一個getter」。window.ScrollMaxY或X - 如何在FireFox 3中設置?

我的替代方案是什麼?

編輯:

爲什麼我問的原因是我在修別人寫的一些非常可怕的JS,它有一個功能,以保持在頁面上居中,同時滾動一個div,並擁有本行:

// Fixes Firefox incrementing page height while scrolling 
window.scrollMaxY = scrollMaxY 

顯然這不起作用,但主要問題是,當頁面滾動時,它的長度增長。

回答

1

window.scrollMaxY可以通過火狐

我不明白,這存在於IE瀏覽器在所有的IE瀏覽器中,物業和舊版本進行設置。

如果我嘗試在FF3 中修改它,然後再讀取它的值,那麼我可以這樣做,儘管更改它沒有可見的效果。

如果我在訪問它的值之前給它賦值,我可以這麼做。一旦我成功地爲它分配了一個值,我可以儘可能多地查詢和修改它的值,儘管瀏覽器將不再更新它以反映窗口的實際滾動限制 - 此行爲對於兼容性似乎存在代碼可能會在其他瀏覽器中使用此變量名稱,而不希望它是預定義的。

你會期望修改它做什麼?

(在IE6/FF3的測試,答案修訂要注意預查詢VS後查詢行爲)

1

聽起來像是你所尋找的是不同的CSS。與其試圖彎曲瀏覽器以適應HTML,更容易爲實際問題找到更好的解決方案;保持div的位置。

相對定位的窗口元素使用position: fixed;

我的猜測是,你正在尋找的代碼最初是爲缺乏support for fixed positioning一種解決方法(IE6不支持它)。