Имя: Пароль:
IT
Веб-мастеринг
загадка javascript
0 raipo
 
10.10.11
16:35
Написал простенький код:

<BODY>

<script language="javascript" type="text/javascript"><!--
   var d = new Date();
   z=d.getDate()+d.getMonth()+".gif";        
   document.write("<img src="+z+">");                        
//--></script>        

</BODY>

и он в принципе работает, идея его такая, каждый день, в зависимости от даты сайт должен показывать новую картинку, имя файла-картинки должно соответствовать дате, например 1010.gif - 10 октября - сегодняшнее число и т.д.
но в моем скрипте d.getDate()=1 (???) а d.getMonth()=9 (???) хотя сегодня 10 число и 10-й месяц. При этом дату показывает правильно, в чем здесь дело?
1 Asmody
 
10.10.11
16:40
getMonth() возвращает 0-11
2 Jstunner
 
10.10.11
16:45
что говорит?

javascript:alert((new Date).getDate())
3 Asmody
 
10.10.11
16:47
чему будет соответствовать 111.gif: 1 ноября или 11 февраля?
4 Fragster
 
гуру
10.10.11
16:53
(3) хз, у автора вообще максимум 31 + 12 = 43 может получится, ибо он числа складывает
5 filh
 
10.10.11
16:53
(3)
day = d.getDate();
day = (parseInt(day, 10) < 10 ) ? ('0'+day) : (day);
:)
6 Asmody
 
10.10.11
16:54
(4) гы! проверил — точно
7 Asmody
 
10.10.11
16:55
(5) parseInt не надо, getDate и так число вернет
8 rs_trade
 
10.10.11
16:55
d.getDate().toString()
9 rs_trade
 
10.10.11
16:56
z=d.getDate().toString()+(d.getMonth()+1).toString()+".gif";
10 raipo
 
10.10.11
16:57
У меня значение z получается 19.gif .....
а может и правда он не склеивает а складывает?
надо проверить!!!
11 rs_trade
 
10.10.11
16:57
нули только еще лидирующие нужны
12 Asmody
 
10.10.11
16:58
вот так надо
z=d.getDate().toString(32)+d.getMonth().toString(12)+".gif";
13 Asmody
 
10.10.11
16:59
тогда 10 октября будет соответствовать a9.gif
14 Torquader
 
10.10.11
19:41
var d=new Date;
var dd=d.getDate();
var dm=d.getMonth()+1;
if(dd<10)dd="0"+String(dd);else dd=String(dd);
if(dm<10)dm="0"=String(dm);else dm=String(dm);
document.write("<img src=\""+dd+dm+".gif\" alt=\"Картинка дня"+dd+"-"+dm+"\">");
15 Torquader
 
10.10.11
19:42
P.S. а если вместо зависимости от даты поставить random, то люди будут чаще заглядывать на сайт.
16 raipo
 
11.10.11
12:56
Спасибо всем! Вы просто блестящие Профессионалы!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.