您正試圖訪問不存在的事件對象的屬性。
您手動調用該函數兩個地,因此不會創建一個事件:
function imageLoaded() {
imageLoadCount++;
if (imageLoadCount == numberOfImagesToLoad) {
alignIcons();
document.onmousemove = alignIcons;
cancelLoadingFadeIn = true;
setTimeout(hideSpinners, 500);
}
}
function fadeIn() {
document.getElementById("iconDiv").style.opacity = parseFloat(document.getElementById("iconDiv").style.opacity, 10) + 0.01;
if (parseFloat(document.getElementById("iconDiv").style.opacity, 10) < 1.0) {
setTimeout(fadeIn, 1000/60);
} else {
alignIcons();
}
}
您應該檢查是否window.event返回任何if (!(e && e.clientX))
。似乎Chrome只是半忽略它(它會引發錯誤),但繼續。
function alignIcons(e) {
document.getElementById("iconDiv").style.height = window.innerHeight - 15 + "px";
iconWindowWidth = document.getElementById("iconDiv").offsetWidth;
iconWindowHeight = document.getElementById("iconDiv").offsetHeight;
if (!e) {
e = window.event;
if (!(e && e.clientX)) {
e = {
clientX: iconWindowWidth/2,
clientY: iconWindowHeight/2
};
}
}
mouseX = e.clientX + document.body.scrollLeft;
mouseY = e.clientY + document.body.scrollLeft;
alignPopupToCentre();
setXPositions();
setYPositions();
setOpacities();
}
是的,jquery將爲您處理crossbrowser問題,它能夠處理您關心的事件。 – DevZer0
如果您在這裏需要幫助,您可能需要更具體。描述一個在Firefox中不起作用的特定事情(確切步驟來重現問題)併發布該功能的特定代碼。正確編寫的JavaScript可以在Firefox中工作。 – jfriend00
僅供參考,我無法訪問您發佈的.js文件的鏈接。 – jfriend00