以下是指向我的页面的链接:http://myweb.students.wwu.edu/~tuckerb2/cs202/peanuts/project/open.html。我遇到了所有浏览器的问题,虽然它适用于Firefox和Chrome,但不适用于IE。我需要修复这个在Firefox和IE中显示的解析错误,以便a)在Fox中不显示错误,b)实际在IE中工作。请帮忙!谢谢!
答案 0 :(得分:0)
有几件事你应该看看
首先,在IE(6,7,8)中window.innerHeight不存在,相反你可以使用下面的内容:
var h = (document.documentElement.clientHeight/2)-17;
另一个问题是,一旦字母在屏幕中央匹配,您就不会停止已启动的计时器。这意味着它们将继续运行并产生错误,因为变量topLetters和bottomLetters现在大于数组topPos和bottomPos的大小。
函数setInterval返回对其计时器的引用,因此您可以使用以下代码
var topTimer, bottomTimer;
function startSnowing() {
topTimer = setInterval("topFall()",10);
bottomTimer = setInterval("bottomRise()",10);
}
并将topFall()和bottomRise()方法更改为
function bottomRise() {
if (bottomLetters < bottomPos.length) {
document.getElementById("bottomLetters").style.bottom = bottomPos[bottomLetters] + "px";
bottomLetters++;
}
else {
clearInterval(bottomTimer);
}
}
希望这有帮助!