我想在每次加載完成前載入的圖像時加載新圖像。 函數create_photo_list正常工作。它會創建一組需要加載的照片。如果不需要加載,則數組爲空。問題是,當沒有更多的項目加載時,它會一直調用load_next_photo函數。加載Javascript圖像
我每次在函數中調用registerEventHandler的原因是因爲如果我不這樣做,下一張照片加載時不會調用該函數。
function registerEventHandler(node, event, handler) {
if (typeof node.addEventListener == "function")
node.addEventListener(event, handler, false);
else
node.attachEvent("on" + event, handler);
}
// Remove an HTML element event handler such as onclick
// ex: unregisterEventHandler($("textfield"), "keypress", showEvent);
function unregisterEventHandler(node, event, handler) {
if (typeof node.removeEventListener == "function")
node.removeEventListener(event, handler, false);
else
node.detachEvent("on" + event, handler);
}
function load_next_photo() {
var loading_list = create_photo_list();
alert(loading_list.length);
if (loading_list.length > 0) {
img[loading_list[0]]['loaded'] = 1;
registerEventHandler($("load_img"), "onload", load_next_photo());
$("load_img").src = img[loading_list[0]]['img'];
}
else {
alert("nothing");
unregisterEventHandler($("load_img"), "onload", load_next_photo())
}
unregisterEventHandler($("load_img"), "onload", load_next_photo())
}
只是好奇,爲什麼你不使用jQuery的所有事件偵聽代碼? – JohnP 2011-03-20 05:35:05
我是一個業餘開發人員,我以前沒有聽說過;) 但我真的更喜歡解決方法的答案。 – SamB 2011-03-20 05:41:34
不,不是,我的意思是所有'$(「load_img」)'調用。這看起來像jQuery(除非你有自己的框架設置)。 – JohnP 2011-03-20 05:51:46