0

ここに私のページへのリンクがあります: http://myweb.students.wwu.edu/~tuckerb2/cs202/peanuts/project/open.html . Firefox と Chrome では機能しますが、IE では機能しませんが、すべてのブラウザーで問題があります。Firefox と IE で表示されるこの解析エラーを修正して、a) Fox でエラーを表示せず、b) IE で実際に動作するようにする必要があります。助けてください!ありがとうございました!

4

1 に答える 1

0

あなたが見なければならないことが起こっていることがいくつかあります

まず、IE (6,7,8) では window.innerHeight が存在しません。代わりに、以下を使用できます。

var h = (document.documentElement.clientHeight/2)-17;

もう1つの問題は、文字が画面の中央で一致すると、開始したタイマーが停止しないことです。これは、変数 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 に答える