获取IE和Firefox错误:解析值'xxx'时出错。宣言下降

时间:2012-05-30 00:05:25

标签: javascript html css

以下是指向我的页面的链接:http://myweb.students.wwu.edu/~tuckerb2/cs202/peanuts/project/open.html。我遇到了所有浏览器的问题,虽然它适用于Firefox和Chrome,但不适用于IE。我需要修复这个在Firefox和IE中显示的解析错误,以便a)在Fox中不显示错误,b)实际在IE中工作。请帮忙!谢谢!

1 个答案:

答案 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);
    } 
}

希望这有帮助!