2012-10-08 33 views
0

不明白工作的js如果這樣寫:在Safari

 $(document).on("click", function() { 
      window.scroll(0, 70); 
     }); 

作品始終,但如果這樣寫:

 window.onload = function() { 
      window.scroll(0, 70); 
     } 

這不是在Safari和 「隱身窗口」 爲鍍鉻的作品。在其他瀏覽器的作品。 爲什麼?

+1

看看答案在這裏 - http://stackoverflow.com/q/9227433/1499781 –

回答

3

簡而言之,主要原因是您綁定的不同瀏覽器/ dom元素的狀態。

在第一個,你使用jQuery,這可能是確保你的時間得到解決實際點擊它結合對<body/>click事件,該文件的body被初始化,並有足夠的滾動左使效果顯現給你。

在第二個,你要綁定到onload事件的窗口,這實際上觸發多以前body可能已經裝載,或積累了足夠的滾動區域,從而使不出現效果的。

理想的技術,而不是將使用

$(document).ready(function() { 
    window.scrollTo(0,70); 
});