загадка javascript #573877


#0 by raipo
Написал простенький код: <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 by Asmody
getMonth возвращает 0-11
#2 by Jstunner
что говорит? javascript:alert((new Date).getDate)
#3 by Asmody
чему будет соответствовать 111.gif: 1 ноября или 11 февраля?
#4 by Fragster
хз, у автора вообще максимум 31 + 12 = 43 может получится, ибо он числа складывает
#5 by filh
day = d.getDate; day = (parseInt(day, 10) < 10 ) ? ('0'+day) : (day); :)
#6 by Asmody
гы! проверил — точно
#7 by Asmody
parseInt не надо, getDate и так число вернет
#8 by rs_trade
d.getDate.toString
#9 by rs_trade
z=d.getDate.toString+(d.getMonth+1).toString+".gif";
#10 by raipo
У меня значение z получается 19.gif ..... а может и правда он не склеивает а складывает? надо проверить!!!
#11 by rs_trade
нули только еще лидирующие нужны
#12 by Asmody
вот так надо z=d.getDate.toString+d.getMonth.toString+".gif";
#13 by Asmody
тогда 10 октября будет соответствовать a9.gif
#14 by Torquader
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 by Torquader
P.S. а если вместо зависимости от даты поставить random, то люди будут чаще заглядывать на сайт.
#16 by raipo
Спасибо всем! Вы просто блестящие Профессионалы!
Тэги: Веб-мастеринг
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С