2011-04-26 154 views
0

在我的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确实出现了。而对于文件的其余部分,根本没有图表出现。这意味着该功能只能工作一次。

我不知道如何解决这个问题,如果你能帮助我解决这个问题,我将非常感激。

感谢 全胜阮

+0

真的应该研究一下循环。 – awm 2011-04-26 15:44:51

回答

0

记住,文件撰写附加到文件仅当文档加载,否则它会尝试并覆盖任何您指定的网页的内容! 尝试使用DOM方法:document.appendChild(createElement(“img”))....

+0

谢谢。但我仍然无法完成工作。循环只是在一个地方重复创建图像,而我希望它在一个html文档中的不同位置显示。 document.appendChild(createElement(“img”))对我来说有点太复杂了。我只是一个初学者。任何人都可以更具体一点?谢谢 – 2011-04-27 00:48:48