<html>
<head>
<title>kalendar by Radagast</title>
<script>
function workbitch(f)
{
var dn = 7;
var yearcur = 2006;
var monthcur = 1;
var numbcur = 1;
var yearin = f.yearin.options[f.yearin.selectedIndex].value;
var monthin = f.monthin.options[f.monthin.selectedIndex].value;
while(yearin != yearcur)
{
while(monthin != monthcur)
{
if((monthcur==1)||(monthcur==3)||(monthcur==5)||(m onthcur==7)||(monthcur==8)||(monthcur==10)||(month cur==12))
{
dn = dn + 3;
if(dn > 7)
dn = dn - 7;
}
if((monthcur==4)||(monthcur==6)||(monthcur==9)||(m onthcur==11))
{
dn = dn + 2;
if(dn > 7)
dn = dn - 7;
}
if((monthcur==2) && ((yearcur==2008)||(yearcur==2012)))
{
dn = dn + 1;
if(dn > 7)
dn = dn - 7;
}
monthcur++;
} //month
yearcur++;
} //year
document.write(dn)
}
</script>
</head>
<body>
<FORM NAME="f">
<TABLE BORDER="1" BORDERCOLOR="blue">
<tr>
<td>type the year</td>
<td>
<SELECT name="yearin">
<OPTION value="2006" selected>2006</OPTION>
<OPTION value="2007">2007</OPTION>
<OPTION value="2008">2008</OPTION>
<OPTION value="2009">2009</OPTION>
<OPTION value="2010">2010</OPTION>
<OPTION value="2011">2011</OPTION>
<OPTION value="2012">2012</OPTION>
<OPTION value="2013">2013</OPTION>
<OPTION value="2014">2014</OPTION>
<OPTION value="2015">2015</OPTION>
</SELECT>
</td>
</tr>
<tr>
<td>type the month</td>
<td>
<SELECT name="monthin">
<OPTION value="1" selected>January</OPTION>
<OPTION value="2">February</OPTION>
<OPTION value="3">March</OPTION>
<OPTION value="4">April</OPTION>
<OPTION value="5">May</OPTION>
<OPTION value="6">June</OPTION>
<OPTION value="7">July</OPTION>
<OPTION value="8">August</OPTION>
<OPTION value="9">September</OPTION>
<OPTION value="10">October</OPTION>
<OPTION value="11">November</OPTION>
<OPTION value="12">December</OPTION>
</SELECT>
</td>
</tr>
<tr>
<td><INPUT type="button" width="100" value="display" name="button1" onclick='workbitch(this.form);'></td>
</tr>
</table>
</form>
</body>
</html>
помогите плиз новичку с JavaScript
вкратце описание: скрипт вычисляет, на какой день недели приходится 1е число заданного месяца заданного года, исходя из того, что 01.01.2006 было воскресенье. Dn-день недели, yearin и monthin - вводимые через форму целевые год и месяц, yearcur и monthcur-год и месяц, которые просчитываются на данный момент, т.е. зная, на какой день приходится 1е число текущего месяца и кол-во дней в этом месяце dn соотв образом изменяется.
скрипт работает, но возвращается неправильное число
заранее megathx
Код:
[color="red"]Оформлять код тегами не учили?[/color]
Скрипт работает правильно, что в него заложено алгоритмом, то и реализует. Так что тебе нужно было начать с алгоритма вычисления, а не за код браться. Думаешь зря у меня такая подпись?
Напишика алгоритм вычисления.
Воспользуйся готовым решением JavaScript Date Object: date.getDay() - день недели (from 0-6)
самому.
Код:
<html>
<head>
<title>kalendar by Radagast</title>
<script>
// <script language="JavaScript"> <-- recomend.
var dn = 7;
var yearcur = 2006;
var monthcur = 1;
var numbcur = 1;
function workbitch(f){
var yearin = f.yearin.options[f.yearin.selectedIndex].value;
var monthin = f.monthin.options[f.monthin.selectedIndex].value;
while(yearin != yearcur) {
while(monthin != monthcur) {
if((monthcur==1)||(monthcur==3)||(monthcur==5)||(m onthcur==7)||(monthcur==8)||(monthcur==10)||(month cur==12)) {
dn = dn + 3;
if(dn > 7){dn = dn - 7}
}
if((monthcur==4)||(monthcur==6)||(monthcur==9)||(m onthcur==11)) {
dn = dn + 2;
if(dn > 7) {dn = dn - 7}
if((monthcur==2) && ((yearcur==2008)||(yearcur==2012))) {
dn = dn + 1;
if(dn > 7) {dn = dn - 7}
}
monthcur++;
} //month
yearcur++;
} //year
document.write(dn);
}
</script>
</head>
<body>
<FORM NAME="f">
<table cellpadding="5" cellspacing="2" bgcolor="#E7DECE" border="1">
<tr> <td>type the year</td>
<td> <SELECT name="yearin">
<OPTION value="2006" selected>2006</OPTION>
<OPTION value="2007">2007</OPTION>
<OPTION value="2008">2008</OPTION>
<OPTION value="2009">2009</OPTION>
<OPTION value="2010">2010</OPTION>
<OPTION value="2011">2011</OPTION>
<OPTION value="2012">2012</OPTION>
<OPTION value="2013">2013</OPTION>
<OPTION value="2014">2014</OPTION>
<OPTION value="2015">2015</OPTION>
</SELECT>
</td>
</tr>
<tr> <td>type the month</td>
<td> <SELECT name="monthin">
<OPTION value="1" selected>January</OPTION>
<OPTION value="2">February</OPTION>
<OPTION value="3">March</OPTION>
<OPTION value="4">April</OPTION>
<OPTION value="5">May</OPTION>
<OPTION value="6">June</OPTION>
<OPTION value="7">July</OPTION>
<OPTION value="8">August</OPTION>
<OPTION value="9">September</OPTION>
<OPTION value="10">October</OPTION>
<OPTION value="11">November</OPTION>
<OPTION value="12">December</OPTION>
</SELECT>
</td>
</tr>
<tr> <td><INPUT type="button" width="100" value="display" name="button1" onclick='workbitch(this.form);'></td>
<td> </td> <!-- recomend. -->
</tr>
</table>
</form>
</body>
</html>
<head>
<title>kalendar by Radagast</title>
<script>
// <script language="JavaScript"> <-- recomend.
var dn = 7;
var yearcur = 2006;
var monthcur = 1;
var numbcur = 1;
function workbitch(f){
var yearin = f.yearin.options[f.yearin.selectedIndex].value;
var monthin = f.monthin.options[f.monthin.selectedIndex].value;
while(yearin != yearcur) {
while(monthin != monthcur) {
if((monthcur==1)||(monthcur==3)||(monthcur==5)||(m onthcur==7)||(monthcur==8)||(monthcur==10)||(month cur==12)) {
dn = dn + 3;
if(dn > 7){dn = dn - 7}
}
if((monthcur==4)||(monthcur==6)||(monthcur==9)||(m onthcur==11)) {
dn = dn + 2;
if(dn > 7) {dn = dn - 7}
if((monthcur==2) && ((yearcur==2008)||(yearcur==2012))) {
dn = dn + 1;
if(dn > 7) {dn = dn - 7}
}
monthcur++;
} //month
yearcur++;
} //year
document.write(dn);
}
</script>
</head>
<body>
<FORM NAME="f">
<table cellpadding="5" cellspacing="2" bgcolor="#E7DECE" border="1">
<tr> <td>type the year</td>
<td> <SELECT name="yearin">
<OPTION value="2006" selected>2006</OPTION>
<OPTION value="2007">2007</OPTION>
<OPTION value="2008">2008</OPTION>
<OPTION value="2009">2009</OPTION>
<OPTION value="2010">2010</OPTION>
<OPTION value="2011">2011</OPTION>
<OPTION value="2012">2012</OPTION>
<OPTION value="2013">2013</OPTION>
<OPTION value="2014">2014</OPTION>
<OPTION value="2015">2015</OPTION>
</SELECT>
</td>
</tr>
<tr> <td>type the month</td>
<td> <SELECT name="monthin">
<OPTION value="1" selected>January</OPTION>
<OPTION value="2">February</OPTION>
<OPTION value="3">March</OPTION>
<OPTION value="4">April</OPTION>
<OPTION value="5">May</OPTION>
<OPTION value="6">June</OPTION>
<OPTION value="7">July</OPTION>
<OPTION value="8">August</OPTION>
<OPTION value="9">September</OPTION>
<OPTION value="10">October</OPTION>
<OPTION value="11">November</OPTION>
<OPTION value="12">December</OPTION>
</SELECT>
</td>
</tr>
<tr> <td><INPUT type="button" width="100" value="display" name="button1" onclick='workbitch(this.form);'></td>
<td> </td> <!-- recomend. -->
</tr>
</table>
</form>
</body>
</html>
[color="red"]Я тут не для того, чтобы теги за вас растовлять.[/color]