2015-09-04 81 views
0

我使用此代碼:LINK - 它表示以水平方式讀取位置。閱讀位置指示器 - Chrome問題

我想調整這個腳本來獲取不是整個文檔的高度,但只有我的div的一個高度。這是原來的功能:

var getMax = function(){ 
return $(document).height() - $(window).height(); 
} 

我嘗試用它來取代上面的代碼:

var getMax = function(){ 
var content = $("#content"); 
return content.height(); 
} 

Eveything在Firefox中工作正常,但在Chrome我臥式酒吧立即填滿。我怎樣才能解決這個問題?

回答

1

您可以修復此問題,在$(window).load(fn)事件中更改您的$(document).ready(fn)

  • ready被觸發時,DOM完全加載,在這種情況下,你在Chrome元素可能還沒有準備好或者不完全加載尚未
  • load,而是向你保證,在頁面中的所有資產被加載,所以你可以安全地對元素進行操作(在你的情況下計算高度)。 This demo適用於Firefox和Chrome。

documentation

load事件被髮送到一個元件時,它和所有的子元素具有 完全加載。此事件可以發送到與URL相關聯的任何元素 :圖像,腳本,框架,iframe和窗口對象。


Here解釋在深度多一點readyload事件之間的差別的文章。