2

私は自分のページの特定のdivをx秒ごとに自動的に更新する最も簡単な方法を探していました。

これまでのところ私は持っています:

<script type="text/javascript">
window.onload = startInterval;
function startInterval()
{
    setInterval("startTime();",1000);
}

function startTime()
{
    document.getElementById('time').innerHTML = Date();
}

ただし、innerHTMLがdate関数に設定されている最後の部分は、実際の日付の印刷ではなく、「時刻」IDのコンテンツに置き換えたいものです。

iframeまたはexternahtmlページを読み込むことができることは知っていますが、既存のコンテンツを変更するのではなく、ページ上の既存のdivを呼び出すだけです。それは可能ですか?

ありがとう!

編集:私が意味するのは、ページ上に次のようなdivがあるということです:

いくつかのもの

そのdivをx秒ごとに更新したいので、はい、私の例のDate()部分を無視してもかまいません。そのコードをそのまま見つけましたが、.innerHTML部分を削除しようとすると、何も実行されません。笑だと思います!

4

2 に答える 2

3

このようなものをお探しですか?

<script type="text/javascript">
window.onload = startInterval;
function startInterval() {
    setInterval("startTime();",1000);
}

function startTime() {
    var now = new Date();
    document.getElementById('time').innerHTML = now.getHours() + ":" + now.getMinutes() + ":" +now.getSeconds();
}
</script>
于 2012-05-28T20:32:44.537 に答える
1

注: OPは、実際には、ページにすでに含まれている広告サービスにスクリプトをリロードしようとしています。以下はこれには役立ちません。ただし、質問の方法が原因で、次のタイプの解決策を探している他の人に役立つと思うので、この回答は残しておきます。これは、すでに含まれている(おそらくグローバルで機能していない)コードを「再実行」する方法を示していないことに注意してください。


div動的に更新したい次のものがあるとします。

<div id="refresh">Refreshes...</div>

jQueryは、ページを動的に要求し、応答をHTMLとして使用できるようにする$.ajax関数のグループを提供します。例えば:

$(document).ready(function(){
    var $refresh = $('#refresh'),
        loaded = 1,
        data = {
            html: $.toJSON({
                text: 'some text',
                object: {}
            }),
            delay: 3
        };

    var refresh = function(){
        $.ajax({
            url: "/echo/html/",
            data: data,
            type: "GET",
            success: function(response) {
                $refresh.html($refresh.html() + '<br/>#' + loaded);
                loaded++;
                setTimeout(refresh, 3000);
            }
        });
    };

    refresh();
});

http://jsfiddle.net/Ah3jS/

ここでもjsFiddleのecho/html/機能を使用していることに注意してください。変数は、dataデモンストレーションの目的でこれを使用するように調整されています。実際にはdata、リクエストとともに送信されるのは、通常の作業と同じように、GETまたは変数のいずれかです。POSTまた、では使用しませんが、jsFiddleのデモモードでは何も返されないためです。responsesuccess

jQueryはこれを非常に簡単にします。本当に、私は他のほとんどのアプローチの代わりにそれを使用することを考えます(要件にもかかわらず)。

于 2012-05-28T21:39:00.150 に答える