0

4 秒ごとに異なるメッセージを表示する Web ページをプログラミングしています。表示する文字列を作成するために情報を取得するカスタム オブジェクトを作成しました。「rand」と呼ばれる Math.random に似た関数を使用しています。これにより、オブジェクトにランダムにアクセスできます。間隔を 4 秒に設定しました。表示される文字列を取得できますが、その後 Web ページの読み込みと読み込みが継続し、ラグがひどくなり、終了する必要があります。私が使用しているコードを以下に示します。助けてください!

  var name = "Barack Obama";

  var Actions = {

    "ActionList" : [

        { "action" : "watches a 30 minute TV show",
          "time"   : 30,
          "time_measure" : "minute",
          "assuming" : "assuming he sat through the commercials too"
         },

        {
          "action" : "makes some pizza rolls",
          "time" : 9,
          "time_measure" : "minute",
          "assuming" : "he only made one plateful"
         },

        {
          "action" : "takes a 2 hour nap",
          "time" : 2,
          "time_measure" : "hour",
          "assuming" : "assuming he's a heavy sleeper"
         },

        {
          "action" : "1000 jumping jacks",
          "time" : 1,
          "time_measure" : "hour",
          "assuming" : "he doesn't take a break, or slow down"
         }
    ]

  };

  function rand(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
  }
  function run() {

    /**
     * RANDOMLY SELECT OBJECTS
    ***/
    var r = rand(0, 3);

    var x = Actions.ActionList[r]["action"];

    document.write( x );

  }



  setInterval(run, 4000);
4

2 に答える 2

0

http://jsfiddle.net/aHrpC/2/

このJSFiddleには実用的な例があります。それはdocument.writeと関係がありました。コード内の他のすべてが正しく機能しています。

于 2012-10-12T19:10:32.857 に答える
0

ページがロードされた後は、document.write を使用できません。現在のページを破棄します。

appendChild() や innerHTML などの DOM メソッドを使用する必要があります。

于 2012-10-12T18:52:26.440 に答える