#javascript
#javascript
Вопрос:
В моем html-файле я должен отобразить графики разных акций в разных местах документа. Я написал исходный код функции javascript (ticker) для отображения диаграммы «ticker». Вот первая часть моего HTML-документа:
<!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() "amp;e=" d.getFullYear() "-" endmonth "-" d.getDate();
var chartsource;
chartsource="<img src="http://xxxxxx.com/chartsymbol_chart.php?s=" dateparam "amp;m=lineamp;dateby=1amp;bollinger=1amp;bollinger_day=20amp;sma=1amp;sma_day=20amp;chartsize=1amp;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 действительно появился. А для оставшейся части документа диаграмма вообще не отображается. Это означает, что функция работает только один раз.
Я понятия не имею, как это исправить, и был бы очень признателен, если вы сможете помочь мне с этим.
Спасибо Тоану Нгуену
Комментарии:
1. Действительно, стоит немного изучить циклы.
Ответ №1:
Имейте в виду, что document.write добавляется к документу, только если документ загружается, в противном случае он попытается перезаписать содержимое страницы тем, что вы укажете! Попробуйте вместо этого DOM-подход: document.appendChild( createElement(«img»))….
Комментарии:
1. Спасибо. Но я все еще не могу заставить ее работать. Цикл просто создает изображения повторно в одном месте, в то время как я хочу, чтобы они отображались в разных местах в одном html-документе. document.appendChild(createElement(«img»)) для меня слишком сложен. Я всего лишь новичок. Кто-нибудь может быть немного конкретнее? Спасибо