作者uy3uy3 (鐵男)
看板Ajax
標題[問題] 請問如何產生javascript動態圖表?
時間Mon May 25 22:05:36 2009
<HTML>
<HEAD>
<TITLE>圖表</TITLE>
<SCRIPT Language="JavaScript" src="diagram.js"></SCRIPT>
</HEAD>
<Body onload="statustxt();">
<div id='clock'></div>
<SCRIPT Language="JavaScript">
function statustxt(){
document.open();
D=new Diagram();
D.SetFrame(80, 160, 960, 360);
D.SetBorder(0, 100, 0, 100);
D.SetText("","", "Client Javascript程式");
D.XScale=" (s)";
D.YScale=" (v)";
D.SetGridColor("#F3F781");
D.Draw("#A9D0F5", "#F7BE81", false);
var t, T0, T1;
num=new Array();
T1=0;
for (t=0; t<100; t++)
{
T0=T1;
num[t]=Math.random()*100;
T1=num[t];
new Line(D.ScreenX(t), D.ScreenY(T0), D.ScreenX(t+1), D.ScreenY(T1),
"#DF7401", 2, "value");
}
document.close();
setTimeout("statustxt()",10);
}
</SCRIPT>
</BODY>
</HTML>
以上是HTML網頁的程式碼,程式碼中的setTimeout()一直無法重複執行,
執行時網頁會說"必須要有物件",
我有試過用<div id='clock'></div>實體物件,再利用clock.innerHTML,
可是我就不知道要加在什麼地方?
diagram.js是別人寫的現成函式庫,在下列網址下載
http://www.lutanho.net/diagram/
下載diagram.zip,解壓縮後,將上面的程式碼放在diagram目錄下就可以跑了,
可是只能執行一次,無法重複執行
謝謝版上的大大
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.133.176
1F:→ andymai:對body onload的事件不熟~不過...為啥不要在setTimeout那 05/26 01:41
2F:→ andymai:邊直接呼叫那支function? 05/26 01:42
3F:→ andymai:=.=沒注意看~上面的話當我沒講 05/26 01:43
4F:推 Kelunyang:我覺得這個套件用一堆1px的區塊畫出圓餅圖超帥的! 05/26 02:08
5F:→ fillano:setTimeout(statustxt,10); 不過setTimeout本來就不會重複 05/26 16:29
6F:→ uy3uy3:每格一段時間執行不是利用setTimeout函式嗎? 05/26 16:40
7F:→ fillano:應該是setInterval啦。setTimeout只會跑一次。 05/26 21:59
8F:→ uy3uy3:改成setInterval,網頁還是會說"必須要有物件" 05/27 09:15