这是我页面的链接:http: //myweb.students.wwu.edu/~tuckerb2/cs202/peanuts/project/open.html。我在使用所有浏览器时都遇到了问题,尽管它适用于 Firefox 和 Chrome,但不适用于 IE。我需要修复这个出现在 Firefox 和 IE 中的解析错误,以便它 a) 在 Fox 中不显示错误并且 b) 在 IE 中实际工作。请帮忙!谢谢!
问问题
564 次
1 回答
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);
}
}
希望这可以帮助!
于 2012-05-30T00:52:53.473 回答