我使用iCanHaz.js來交換屏幕,但是我需要一個函數在新內容完全加載完成時觸發。我之前可以通過使用setTimeout 0來使調用異步,但在具有大量圖像的頁面上,這似乎很快就沒有實現。onready/onload for document.innerHTML change
function show_page(){
document.getElementById('container').innerHTML = ich.artworks({
variables : variables
});
window.setTimeout(function(){
var midWidth = (document.body.offsetWidth/2) - window.innerWidth/2;
var midHeight = (document.body.offsetHeight/2) - window.innerHeight/2;
scrollTo(midWidth, midHeight);
}, 0);
}
如何才能延遲此功能,直到知道身高?即使我知道高度,我也無法滾動到低於當前頁面高度的點,所以如果我不知道它們的高度,我必須等待圖像加載完畢。
您錯過了',毫秒);'在您的代碼中 – mplungjan 2013-02-27 16:05:37
不是您正在尋找的答案,但是如果您在標籤中指定了圖片的高度和寬度,則將保留適當的空間量對於他們來說,即使他們還沒有加載,這可能會解決你的問題。 – rjmunro 2013-02-27 16:05:40
@mplungjan yup ..這是一個錯誤在轉錄,而不是在我的代碼..修復。 – Damon 2013-02-27 16:08:07