undefined помогите плиз
function calendar(m,y)
{ cal='<div>'+m+'</div>'; return cal; } возвращает undefined... при то что function calendar(m,y) { alert(m); } выводит два алерта, в первом переменная нормально высвечивается, а во втором undefined что нужно сделать? |
Цитата:
|
Как понять два раза вызываю?
HTML документ <html> <head> <title>Календарь</title> <link rel="stylesheet" href="style.CSS" type="text/css" media="screen" /> <script src="calendar.js"></script> </head> <body> <script language="javascript"> <!-- document.write(calendar()); //--> </script> </body> </html> JS документ function calendar(m,y){ cal='<div>'+m+'</div>'; return cal; } |
document.write(calendar()); // вызов функции без параметров
…
function calendar(m,y){ // m = undefined, y = undefined
cal='<div>'+m+'</div>'; // <div>undefined</div>
return cal;
}
|
не, чтото не то...
значения присваиваются сразу, var m=now.getMonth(); var y=now.getFullYear(); и потом по мере нажатия на кномки вперед назад меняется значение, оно передает значение в функцию, я вот не могу понять чего оно 2 раза вызывается, просто я совсем новичок в JS |
Не могу допереть....как сделать чтобы она не вызывалась второй раз(((
помогите пожалуйста |
Цитата:
<script language="javascript"> <!-- document.write(calendar()); //--> </script> подразумевалось закомментировать код, то надо так: <script language="javascript"> // document.write(calendar()); </script> |
micscr, эти HTML-комментарии в JavaScript-коде из далекого прошлого, когда браузеры, неподдерживающие скрипты, отображали содержимое между незнакомыми им тегами <script>…</script>.
|
Цитата:
Я понял, что вот сюда не передается аргумент document.write(calendar());. Вот так, например, работает document.write(calendar(3, 2010));. Но, естественно, не переключаются месяцы. Могу целиком привести код. |
javascript файл
var now=new Date;
var sm=now.getMonth();
var sy=now.getFullYear();
var m=now.getMonth();
var y=now.getFullYear();
var month=new Array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
var day=new Array("Вс","Пн","Вт","Ср","Чт","Пт","Сб");
function calendar(cm,year){
td=now.getDate();//сегодняшнее число
s=new Date();
s.setDate(1);
s.setFullYear(year);
s.setMonth(cm);
sd=s.getDay();//старт
feb=((year%4)==0)?29:28;//высокосный год
nDay=new Array('31',feb,'31','30','31','30','31','31','30','31','30','31');
result='<table id="c" cellpadding="0" cellspacing="0"><tr><td onclick="back()"><img src="img/l.gif"></td><td colspan="5">'+month[cm]+', '+year+'</td><td onclick="forward()"><img src="img/r.gif"></td></tr><tr>';
for(var i=0;i<7;i++){
result+='<td>'+day[i]+'</td>';
}
result+='</tr></table>'
return result;
}
calendar(m,y);
function forward(){
m+=1;
if(m>=12){
m=0;
y++;
}
calendar(m,y);
}
function back(){
m-=1;
if(m<0){
m=11;
y--;
}
calendar(m,y);
}
html файл <html> <head> <title>Календарь</title> <link rel="stylesheet" href="style.CSS" type="text/css" media="screen" /> <script src="calendar.js"></script> </head> <body> <script language="javascript"> <!-- document.write(calendar()); //--> </script> </body> </html> |
| Часовой пояс GMT +3, время: 23:43. |