0

これは、画像の読み込み中にスピナーを表示し、読み込みが完了すると画像を表示するコードです。また、このページは5秒ごとに自動更新する必要があり、更新は11秒で停止する必要があります。つまり、全体で2回更新する必要があります。しかし、これは機能しません。スピナーコードはcssファイルにあります。これは機能しません-何度も更新を続けます-タイムアウトがリセットされ、varを使用して割り当てを試みましたが、喜びはありません。どんな助けでも高く評価されます。

<META HTTP-EQUIV="Cache-Control" CONTENT="max-age=0">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META http-equiv="expires" content="0">
<META HTTP-EQUIV="Expires" CONTENT="Tue, 01 Jan 1980 1:00:00 GMT">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<html>
<head>
<link rel="stylesheet" href="/css/graph.css" type="text/css" media="screen, projection">
<script src="/javascript/jquery-latest.js" type="text/javascript">
</script>
<script type="text/javascript">
    var img = new Image(); img.height=600; img.width=2000;
    $(img).load(function () {
    $(this).css('display','none');
    $(this).animate({ opacity: 0.25 }).fadeIn("slow");
    $('#loader').append(this);
    $(this).animate({ opacity: 1 })
    }).error(function () {
    }).attr('src', 'xyz.png');
    var timer = function() { window.location.reload(true);};
        window["reload_timer"] = setTimeout(timer, 5000);
    var timer2 = function() {     
        clearTimeout(window["reload_timer"]);
        clearTimeout(window["reload_timer2"]);};
        window["reload_timer2"] = setTimeout(timer2, 11000);
</script>
</head>
<body id = "page"><div id="loader" class="loading">
</div>
</body>
</html>
4

2 に答える 2

2

パラメータを付けてページのURLをリロードしてみてください。次に、JavaScriptを使用してパラメーターを読み取り、それを使用してページが更新された回数を知ることができるため、2回の更新後に停止します。

それ以外の場合、ページはステートレスになります。以前とまったく同じページが読み込まれ、既に読み込まれているかどうかはわかりません。このURLパラメータを導入することで、ある種の状態を追跡できます。

于 2012-05-01T06:10:03.793 に答える
0

ページをリロードすると、ページはすでにリロードされていることを忘れてしまうため、実際にはコードがtimer2に到達することはありません。

于 2012-05-01T06:13:17.160 に答える