2011-04-26 4 views
0

내 HTML 파일에서 다른 주식 차트를 문서의 다른 위치에 표시해야합니다. 나는 "시세"의 차트를 표시하는 자바 스크립트 함수 소스 (시세 표시기)를 썼다. 여기 내 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> 

그러나 처음에는 vnindex 차트가 표시되지만^hastc는 표시되지 않습니다. 처음에, 나는 hastc 주식이 없기 때문에 그것이라고 생각했습니다. 하지만 간단한 html img 태그로 확인하면^hastc가 표시됩니다. 그리고 문서의 나머지 부분에서는 전혀 차트가 표시되지 않습니다. 그것은 함수가 한 번만 작동한다는 것을 의미합니다.

문제를 해결하는 방법에 대해 잘 알지 못해서 도움을 주시면 감사하겠습니다. 문서가 다른로드가 시도하고 사용자가 지정한 무엇 이건 페이지의 내용을 덮어 경우에만

감사 TOAN 구엔

+0

실제로 루프를 조금 공부해야합니다. – awm

답변

0

곰 염두에 document.write를 문서에 추가! DOM 접근법을 시도해보십시오. document.appendChild (createElement ("img")) ....

+0

감사합니다. 그러나 나는 아직도 그것을 작동하게 할 수 없다. 루핑은 하나의 html 문서에서 다른 위치에 표시하고 싶을 때 한 곳에 반복적으로 이미지를 만듭니다. document.appendChild (createElement ("img"))는 다소 복잡합니다. 나는 초보자이다. 조금 더 구체적인 사람이있을 수 있습니까? 감사 –

관련 문제