为什么我的函数只能运行一次(执行document.write()作业)?
问题描述:
在我的html文件中,我必须在文档的不同位置显示不同股票的图表。我写了一个javascript函数源代码(ticker)来显示“ticker”的图表。这里是我的html文件的第一部分:为什么我的函数只能运行一次(执行document.write()作业)?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="CLP_style.css" rel="stylesheet" type="text/css">
<title>The XXXXXX Daily</title>
<script type="text/javascript">
function source(ticker)
{
var d=new Date();
var month=new Array(12);
month[0]="01";
month[1]="02";
month[2]="03";
month[3]="04";
month[4]="05";
month[5]="06";
month[6]="07";
month[7]="08";
month[8]="09";
month[9]="10";
month[10]="11";
month[11]="12";
var startmonth;
var startyear;
var endmonth;
endmonth=month[d.getMonth()];
switch (endmonth)
{
case "01":
startmonth="11";
case "02":
startmonth="12";
case "03":
startmonth="01";
case "04":
startmonth="02";
case "05":
startmonth="03";
case "06":
startmonth="04";
case "07":
startmonth="05";
case "08":
startmonth="06";
case "09":
startmonth="07";
case "10":
startmonth="08";
case "11":
startmonth="09";
startyear="2010";
case "12":
startmonth="10";
startyear="2010";
}
var dateparam;
dateparam=startyear+"-"+startmonth+"-"+d.getDate()+"&e="+d.getFullYear()+"-"+endmonth+"-"+d.getDate();
var chartsource;
chartsource="<img src=\"http://xxxxxx.com/chartsymbol_chart.php?s="+dateparam+"&m=line&dateby=1&bollinger=1&bollinger_day=20&sma=1&sma_day=20&chartsize=1&id="+ticker+"\"";
source=chartsource+" align=\"top\" name=\"HSX\" height=\"250\" width=\"490\">";
document.write(source);
}
</script>
</head>
<body>
当我调用该函数,它工作得很好。
<table width="980" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<script type="text/javascript">
source("^vnindex");
</script>
</td>
<td>
<script type="text/javascript">
source("^hastc");
</script>
</td>
</tr>
</table>
但只有第一次即^ vinindex图显示,但^ hastc没有。起初,我认为这是因为没有股票。但是当我检查一个简单的HTML img标签时,^ hastc确实出现了。而对于文件的其余部分,根本没有图表出现。这意味着该功能只能工作一次。
我不知道如何解决这个问题,如果你能帮助我解决这个问题,我将非常感激。
感谢 全胜阮
答
记住,文件撰写附加到文件仅当文档加载,否则它会尝试并覆盖任何您指定的网页的内容! 尝试使用DOM方法:document.appendChild(createElement(“img”))....
+0
谢谢。但我仍然无法完成工作。循环只是在一个地方重复创建图像,而我希望它在一个html文档中的不同位置显示。 document.appendChild(createElement(“img”))对我来说有点太复杂了。我只是一个初学者。任何人都可以更具体一点?谢谢 – 2011-04-27 00:48:48
真的应该研究一下循环。 – awm 2011-04-26 15:44:51