0

プログレスバーを表示する load() 関数と、ページがロードされるとロードの実行を停止する kill () 関数の 2 つの JS 関数があります。別のページが読み込まれると、進行状況バーが表示されなくなり、すべてのページで load 関数が呼び出されることがわかります。問題がどこにあるのか、それを修正する方法があるかどうかについてのヒント。

これが私のコードです:

<script type="text/javascript">
    var count=0;
    function load(i) {
        j = parseInt(i);
        document.getElementById("progressBar").style.display = "block";
        count=count+1;
        if (document.all) { 
            document.all.btn1.value=count+'%';
            document.all.progressbar.pic1.width=2*count;
        }
        else { 
            document.getElementById("pic1").width=2*count;
            document.getElementById("bar").width=count+'%';
        } 
        if (count<100) {
            setTimeout('load(j)',j);
        }
        if(count==100) { 
            document.getElementById("progressBar").style.display = "none";
            count=0;
        }
    }

    function kill(){
        if (document.applets[0].isActive()) {
            document.getElementById("progressBar").style.visibility = "hidden"; 
        } 
    }

</script>

前もって感謝します !

4

2 に答える 2

0

変数に代入する場合はsetTimeout、変数に clearTimeout を使用して停止できます。
たとえば、タイムアウトを設定して t = setTimeout('load(j)',j); から停止 clearTimeout(t);する

于 2013-04-15T09:53:15.413 に答える