我想設置一些Js變量來計算一些高度和偏移量,但是我需要在頁面加載B/C後做這些事情我有第三方廣告加載和轉移的東西。
所以這個問題:
我所得到的是:
var sidebarHeight = $('.sidebar').height(),
sidebarOffset = $('.sidebar').offset().top;
但那些不會被正確設置,除非我讓他們這樣的:
$(window).on('load', function(){
var sidebarHeight = $('.sidebar').height(),
sidebarOffset = $('.sidebar').offset().top;
});
但問題在於那些變量不是全局變量 - 它們是該函數的本地變量,因此不能被其他函數重用。
那麼問題:我怎樣才能設置它,所以這些變量設置在window.load上,但仍然是全局的,可用於其他功能?
刪除'var'。 –
爲什麼不直接在全局範圍聲明它們並將它們填充到onLoad?要做到這一點,您只需使用第一個示例,而無需分配任務。然後,你將使用第二個例子,沒有var關鍵字(它只是一個賦值給在全局範圍聲明的變量) –
我更喜歡顯式的'window ['sidebarHeight'] = ...',但是我也大寫我的全局'SIDEBAR_HEIGHT';而不是'$(window).on('load''你可能想要做'$(document).on('load'',因爲你真的在文檔內容填充之後,而不是瀏覽器窗口打開。 – vol7ron