0

株価が表示されるペインを作成しようとしていますが、10秒ごとに自動的に更新され、体系的に変更されます(たとえば、googを10回、次にaaplなど)。

これが私が得たものです。

function stocksUpdate(latest){
 if (window.XMLHttpRequest)
 {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
 }
 else
 {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 xmlhttp.onreadystatechange=function()
 {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
 {
  document.getElementById("stocks").innerHTML=xmlhttp.responseText;
 }
 }
 xmlHttp.open("GET","stock.php?latest="+latest+"&x="+Math.random(),true);
 xmlHttp.send();
 }

function stockShow() {
 var symbol = document.getElementById('stocksymbol');
 setInterval(stocksUpdate(symbol), 15);
 }
}   

それから

<body onload="stockShow()">

<div id="stocks">

<h3 id="stocksymbol"></h3>

したがって、最初に株価記号を取得し、空であることを確認して最初の株価を取得し、15秒後にその株価を取得して次の株価を返します。

stock.phpページは完全に機能していますが、何も表示されていません。私はこれを正しく開始していますか?最初のショーを作成してから、setIntervalを設定する必要がありますか?

h3タグは意図的に空であり、stock.phpで考慮されているため、空であることを心配する必要はありません。

どうもありがとう。ニール

4

1 に答える 1

3

交換する必要があります

setInterval(stocksUpdate(symbol), 15);

setInterval(function(){
    stocksUpdate(symbol);
}, 15);

今のところ、setInterval に渡す前に関数 stocksUpdate(symbol) を評価しています。

また、15 はミリ秒単位の時間です。サーバーを内破させたくない場合は、それをもっと大きくすることを検討してください。setInterval を使用する代わりに (2 つの応答が間違った順序で到着する可能性があります)、setTimeout を使用します。 stocksUpdate 関数の終わり

于 2012-06-17T14:09:40.527 に答える