24.08.2009, 09:59 | |||||
Узнай, сколько ты живешь. Сразу оговорюсь, что этот скрипт корректно работает только в IE. Установка: 1) Ставим это в head:
Code <SCRIPT LANGUAGE="JavaScript"> <!-- Original: Dev Pragad (devpragad@yahoo.com) --> <!-- Web Site: http://www.geocities.com/devpragad --> <!-- Begin function start() { document.form1.day.value = ""; document.form1.month.value = ""; document.form1.year.value = ""; document.form1.age.value = ""; document.form1.months.value = ""; document.form1.weeks.value = ""; document.form1.answer.value = ""; document.form1.hours.value = ""; document.form1.min.value = ""; document.form1.sec.value = ""; document.form1.bday.value = ""; document.form1.milli.value = ""; } function run() { var ap; dd = document.form1.day.value; mm = document.form1.month.value; yy = document.form1.year.value; with(document.form1) { ap = parseInt(ampm.selectedIndex); hr = parseInt(hrs.value); if(hr <= 0 && hr >= 13) { ap = null; alert("asdf") } } main="valid"; if ((mm < 1) || (mm > 12) || (dd < 1) || (dd > 31) || (yy < 1) ||(mm == "") || (dd == "") || (yy == "")) main = "Invalid"; else if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11)) && (dd > 30)) main = "Invalid"; else if (mm == 2) { if (dd > 29) main = "Invalid"; else if((dd > 28) && (!lyear(yy))) main="Invalid"; } else if((yy > 9999)||(yy < 0)) main = "Invalid"; else main = main; if(main == "valid") { function leapyear(a) { if(((a % 4 == 0) && (a % 100 != 0)) || (a % 400 == 0)) return true; else return false; } days = new Date(); gdate = days.getDate(); gmonth = days.getMonth(); gyear = days.getYear(); age = gyear - yy; if((mm == (gmonth + 1)) && (dd <= parseInt(gdate))) { age = age; } else { if(mm <= (gmonth)) { age = age; } else { age = age - 1; } } if(age == 0) age = age; document.form1.age.value=" Сейчас вам " + age+ " и "; if(mm <= (gmonth + 1)) age = age - 1; if((mm == (gmonth + 1)) && (dd > parseInt(gdate))) age = age + 1; var m; var n; if (mm == 12) { n = 31 - dd; } if (mm == 11) { n = 61 - dd; } if (mm == 10) { n = 92 - dd; } if (mm == 9) { n = 122 - dd; } if (mm == 8) { n = 153 - dd; } if (mm == 7) { n = 184 - dd; } if (mm == 6) { n = 214 - dd; } if (mm == 5) { n = 245 - dd; } if (mm == 4) { n = 275 - dd; } if (mm == 3) { n = 306 - dd; } if (mm == 2) { n = 334 - dd; if(leapyear(yy)) n = n + 1; } if (mm == 1) { n = 365 - dd; if (leapyear(yy)) n = n + 1; } if (gmonth == 1) m = 31; if (gmonth == 2) { m = 59; if (leapyear(gyear)) m = m + 1; } if (gmonth == 3) { m = 90; if (leapyear(gyear)) m = m + 1; } if (gmonth == 4) { m = 120; if (leapyear(gyear)) m = m + 1; } if (gmonth == 5) { m = 151; if (leapyear(gyear)) m = m + 1; } if (gmonth == 6) { m = 181; if (leapyear(gyear)) m = m + 1; } if (gmonth == 7) { m = 212; if (leapyear(gyear)) m = m + 1; } if (gmonth == 8) { m = 243; if (leapyear(gyear)) m = m + 1; } if (gmonth == 9) { m = 273; if (leapyear(gyear)) m = m + 1; } if (gmonth == 10) { m = 304; if (leapyear(gyear)) m = m + 1; } if (gmonth == 11) { m = 334; if (leapyear(gyear)) m = m + 1; } if (gmonth == 12) { m = 365; if (leapyear(gyear)) m = m + 1; } totdays = (parseInt(age) * 365); totdays += age / 4; totdays = parseInt(totdays) + gdate + m + n; document.form1.answer.value = "" + totdays +" дней "; months = age * 12; months += 12 - parseInt(mm); months += gmonth; document.form1.months.value = months + " Мясяцев"; if (gmonth == 1) p = 31 + gdate; if (gmonth == 2) { p = 59 + gdate; if (leapyear(gyear)) m = m + 1; } if (gmonth == 3) { p = 90 + gdate; if (leapyear(gyear)) p = p + 1; } if (gmonth == 4) { p = 120 + gdate; if (leapyear(gyear)) p = p + 1; } if (gmonth == 5) { p = 151 + gdate; if (leapyear(gyear)) p = p + 1; } if (gmonth == 6) { p = 181 + gdate; if (leapyear(gyear)) p = p + 1; } if (gmonth == 7) { p = 212 + gdate; if (leapyear(gyear)) p = p + 1; } if (gmonth == 8) { p = 243 + gdate; if (leapyear(gyear)) p = p + 1; } if (gmonth == 9) { p = 273 + gdate; if (leapyear(gyear)) p = p + 1; } if (gmonth == 10) { p = 304 + gdate; if (leapyear(gyear)) p = p + 1; } if (gmonth == 11) { p = 334 + gdate; if (leapyear(gyear)) p = p + 1; } if (gmonth == 12) { p = 365 + gdate; if (leapyear(gyear)) p = p + 1; } weeks = totdays / 7; weeks += " weeks"; weeks = parseInt(weeks); document.form1.weeks.value = weeks + " Недель"; var time = new Date(); ghour = time.getHours(); gmin = time.getMinutes(); gsec = time.getSeconds(); hour = ((age * 365) + n + p) * 24; hour += (parseInt(age / 4) * 24); if(ap == 0) hour = hour - hr; else { if(ap == 1) { hour = hour - (11 + hr) } } document.form1.hours.value = hour + " Часов"; var min; min = (hour * 60) + gmin; document.form1.min.value = min + " Минут"; sec = (min * 60) + gsec; document.form1.sec.value = sec + " Секунд"; var millisec; var gmil; gmil = days.getMilliseconds(); millisec = (sec * 1000) + gmil; document.form1.milli.value = millisec + " Миллисекунд"; mm = mm - 1; var r; if(mm == 0) r = 1; if(mm == 1) r = 31; if(mm == 2) { r = 59; if (leapyear(gyear)) m = m + 1; } if(mm == 3) { r = 90; if (leapyear(gyear)) r = r + 1; } if(mm == 4) { r = 120; if (leapyear(gyear)) r = r + 1; } if(mm == 5) { r = 151; if (leapyear(gyear)) r = r + 1; } if(mm == 6) { r = 181; if (leapyear(gyear)) r = r + 1; } if(mm == 7) { r = 212; if (leapyear(gyear)) r = r + 1; } if(mm == 8) { r = 243; if (leapyear(gyear)) r = r + 1; } if(mm == 9) { r = 273; if (leapyear(gyear)) r = r + 1; } if(mm == 10) { r = 304; if (leapyear(gyear)) r = r + 1; } if(mm == 11) { r = 334; if (leapyear(gyear)) r = r + 1; } if(mm == 12) { r = 365; if (leapyear(gyear)) r = r + 1; } mm = mm + 1; r = parseInt(r) + parseInt(dd); if( mm > (gmonth + 1)) { bday = r - m - gdate; } else { if(mm == (gmonth + 1) && (gdate < dd)) { bday = (r - m - gdate); } else { if((leapyear(gyear)) && ((mm > 2) && (dd < 29))) { a = 366; } else { a = 365; } bday = a + (r - m - gdate); } } nhour = 24-parseInt(ghour); nmin = 60 - parseInt(gmin); nsec = 60 - parseInt(gsec); go(); if(((bday == 366) && (leapyear(yy))) || ((bday == 365) && (!leapyear(yy)))) { document.form1.bday.value = "today is your birthday"; alert("Happy Birthday"); } else { document.form1.bday.value = bday + " дней " + nhour + " часов " + nmin + " минут " + nsec + " секунд"; setTimeout("run()", 1); } function go() { function lyear(a) { if(((a % 4 == 0) && (a % 100 != 0)) || (a % 400 == 0)) return true; else return false; } mm = parseInt(mm); dd = parseInt(dd); yy = parseInt(yy); if ((mm < 1) || (mm > 12) || (dd < 1) || (dd > 31) || (yy < 1) ||(mm == " ") || (dd == " ") || (yy == " ")) main="Invalid"; else if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11)) && (dd > 30)) main = "Invalid"; else if (mm == 2) { if (dd > 29) main = "Invalid"; else if(( dd > 28) && (!lyear(yy))) main = "Invalid"; } else main = main; if(main == "valid") { var m; if (mm == 1) n = 31; if (mm == 2) n = 59 + 1; if (mm == 3) n = 90 + 1; if (mm == 4) n = 120 + 1; if (mm == 5) n = 151 + 1; if (mm == 6) n = 181 + 1; if (mm == 7) n = 212 + 1; if (mm == 8) n = 243 + 1; if (mm == 9) n = 273 + 1; if (mm == 10) n = 304 + 1; if (mm == 11) n = 334 + 1; if (mm == 12) n = 365 + 1; if((mm == 1)||(mm == 3)||(mm == 5)||(mm == 7)||(mm == 8)||(mm == 10)||(mm == 12)) n += 31 + dd; else if((mm == 4)||(mm == 6)||(mm == 9)||(mm == 11)) n += 31 + dd + 1; else if(mm == 2) { if(lyear(yy)) n += 29 + dd - 3; else if(!lyear(yy)) n += 28 + dd - 1; } fours = yy / 4; hunds = yy / 100; fhunds = yy / 400; var day; day = (yy + n + fours - hunds + fhunds) % 7; day = parseInt(day) switch(day) { case 1 : document.form1.age.value +=" вы родились в Воскресенье" break case 2 : document.form1.age.value +=" вы родились в Понедельник" break case 3 : document.form1.age.value +=" вы родились в Вторник" break case 4 : document.form1.age.value +=" вы родились в Среда" break case 5 : document.form1.age.value +=" вы родились в Четверг" break case 6 : document.form1.age.value +=" вы родились в Пятницу" break case 7 : document.form1.age.value +=" вы родились в Субботу" break case 0 : document.form1.age.value +=" вы родились в Субботу" break } } else { document.form1.age.value += main + " Date"; } } } else { document.form1.age.value = main + " Date"; document.form1.months.value = ""; document.form1.weeks.value = ""; document.form1.answer.value = ""; document.form1.hours.value = ""; document.form1.min.value = ""; document.form1.sec.value = ""; document.form1.bday.value = ""; document.form1.milli.value = ""; } } // End --> </script> 2) <body> заменяем на это:
Code <BODY onLoad="start()"> <CENTER> <br> Введите дату Дня Рождения <br> <FORM name=form1> Месяц<INPUT name=month size=3> Число<INPUT name=day size=3> Год<INPUT name=year size=6> Час<INPUT name=hrs value=00 size=6> <select size="1" name="ampm"> <option selected>AM</option> <option>PM</option> </select> <INPUT name=start onclick=run() type=button value="Посчитать"> <BR> <BR> <INPUT name=age size=55 value="Your age will be displayed here"> <BR> <BR> Вы живете: <BR> <TABLE border = 0> <TBODY> <TR> <TD>В месяцах:</TD> <TD><INPUT name=months size=30></TD> </TR> <TR> <TD>В неделях:</TD> <TD><INPUT name=weeks size=30></TD> </TR> <TR> <TD>В днях:</TD> <TD><INPUT name=answer size=30></TD> </TR> <TR> <TD>В часах:</TD> <TD><INPUT name=hours size=30></TD> </TR> <TR> <TD>В минутах:</TD> <TD><INPUT name=min size=30></TD> </TR> <TR> <TD>В секундах:</TD> <TD><INPUT name=sec size=30></TD> </TR> <TR> <TD>В миллисекундах:</TD> <TD><INPUT name=milli size=30></TD> </TR> </TBODY> </TABLE> Ваш следующий День рождения будет через: <BR> <INPUT name=bday size=40> </FORM> </CENTER> Адаптация и перевод: webscripts.ucoz.ru Материал взят с сайта infoscript.ru
| |||||
Категория: JavaScript's | Просмотров: 1946 | Добавил: antisept | Рейтинг: 4.0/1 | | |||||
Теги: |
Пока комментариев нет. Ты можешь быть первым! | |
Кроме того, материал перепечатывали с сайта на сайт, ставили... файл можно найти на Вэбочке (название tables_tablichki_dli_foruma.js).