Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

помогите плиз новичку с JavaScript

18K
18 июня 2006 года
Radagast
1 / / 18.06.2006
подскажите плиз, что тут не так?
вкратце описание: скрипт вычисляет, на какой день недели приходится 1е число заданного месяца заданного года, исходя из того, что 01.01.2006 было воскресенье. Dn-день недели, yearin и monthin - вводимые через форму целевые год и месяц, yearcur и monthcur-год и месяц, которые просчитываются на данный момент, т.е. зная, на какой день приходится 1е число текущего месяца и кол-во дней в этом месяце dn соотв образом изменяется.
скрипт работает, но возвращается неправильное число
заранее megathx
Код:
<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 &#111;&#110;thcur==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 &#111;&#110;thcur==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" &#111;&#110;click='workbitch(this.form);'></td>
</tr>
</table>
</form>
</body>
</html>

[color="red"]Оформлять код тегами не учили?[/color]
12
19 июня 2006 года
alekciy
3.0K / / 13.12.2005
Очень любопытно, как же это ты вычисляешь день недели?
Скрипт работает правильно, что в него заложено алгоритмом, то и реализует. Так что тебе нужно было начать с алгоритма вычисления, а не за код браться. Думаешь зря у меня такая подпись?
Напишика алгоритм вычисления.
18K
19 июня 2006 года
Shtogrin
14 / / 19.06.2006
Воспользуйся готовым решением JavaScript Date Object: date.getDay() - день недели (from 0-6)
http://www.w3schools.com/jsref/jsref_obj_date.asp
9.8K
19 июня 2006 года
Tigris
41 / / 14.06.2006
Сразу скажу у меня ничего не считает т.е. не выводит, в коде пропущены скобки "{}" в операторах условия вычислений и после document.write(dn) отсутствует ";", так же "(m onthcur==7)", "(month cur==12)", "(m onthcur==11)" и ещё в таком виде код трудно понять не только другим, но и самому, поэтому помогу привёсти текст кода в читабельный и понятный алгоритм, а дальше легче будет разобраться
самому.
Код:
<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 &#111;&#110;thcur==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 &#111;&#110;thcur==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" &#111;&#110;click='workbitch(this.form);'></td>

    <td> </td>   <!-- recomend. -->

</tr>
</table>

</form>
</body>
</html>

[color="red"]Я тут не для того, чтобы теги за вас растовлять.[/color]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог