Помогите найти такой календарь
Вложений: 1
сам не особа разбираюсь в JS, но хочу сделать для себя такой календарик =)
т.е нестандартный чтобы даты шли как-бы списком такой ведь можно сделать? |
Цитата:
|
Вложений: 1
Сделал так чтобы даты шли вниз =) , но дни недели не выводит
как сделать чтобы например в пятницу писало "пятница" сбоку <html><head><title>Календарь</title> <meta http-equiv="content-type" content="text/html; charset=windows-1251" /> </head> <body><center> <!-- ТЕКСТ СКРИПТА --> <SCRIPT LANGUAGE="JavaScript"> <!-- Begin monthnames = new Array("Января","Февраля","Марта","Апреля","Майя","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря"); var linkcount=0; //не изменяется ниче function addlink(month, day, href) { var entry = new Array(3); entry[0] = month; entry[1] = day; entry[2] = href; this[linkcount++] = entry; } Array.prototype.addlink = addlink; linkdays = new Array(); monthdays = new Array(12); monthdays[0]=31; monthdays[1]=28; monthdays[2]=31; monthdays[3]=30; monthdays[4]=31; monthdays[5]=30; monthdays[6]=31; monthdays[7]=31; monthdays[8]=30; monthdays[9]=31; monthdays[10]=30; monthdays[11]=31; todayDate=new Date(); thisday=todayDate.getDay(); thismonth=todayDate.getMonth(); thisdate=todayDate.getDate(); thisyear=todayDate.getYear(); thisyear = thisyear % 100; thisyear = ((thisyear < 50) ? (2000 + thisyear) : (1900 + thisyear)); if (((thisyear % 4 == 0) && !(thisyear % 100 == 0)) ||(thisyear % 400 == 0)) monthdays[1]++; startspaces=thisdate; while (startspaces > 7) startspaces-=7; startspaces = thisday - startspaces + 1; if (startspaces < 0) startspaces+=7; document.write for (s=0;s<startspaces;s++) { document.write(); } count=1; while (count <= monthdays[thismonth]) { for (b = startspaces;b<7;b++) { linktrue=false; /////выводит даты document.write("<br width='30'>"); if (count <= 31) { document.write(monthnames[thismonth]); document.write(" "); } for (c=0;c<linkdays.length;c++) { if (linkdays[c] != null) { if ((linkdays[c][0]==thismonth + 1) && (linkdays[c][1]==count)) { document.write("<a href=\"" + linkdays[c][2] + "\">"); linktrue=true; } } } if (count==thisdate) { document.write("<font color='FF0000'><strong>"); } if (count <= monthdays[thismonth]) { document.write(count); } else { document.write(" "); } if (count==thisdate) { document.write("</strong></font>"); } if (linktrue) document.write("</a>"); document.write; count++; } document.write; document.write("<tr>"); startspaces=0; } document.write("</p>"); // End --> </SCRIPT> </center></body> </html> |
Я бы рекомендовал вместо 2х массивов monthdays, и monthnames
писать month=[{name:"Января", monthdays:31},{name:"Февраля",monthdays:31},и тд ] так будет по понятнее. Что касается дней недели. Этот алгоритм корректно работает с датами, позже 1583 года. Ибо новый стиль был впервые введён только в 1582. function getDay(day,mon,year){ var days = new Array("воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"); day=parseInt(day); //если день двухсимвольный и <10 mon=parseInt(mon); //если месяц двухсимвольный и <10 var a=parseInt((14-mon)/12); var y=year-a; var m=mon+12*a-2; var d=(7000+parseInt(day+y+parseInt(y/4)-parseInt(y/100)+parseInt(y/400)+(31*m)/12))%7; return days[d]; } |
Подскажите где можно найти простейший календарь на месяц, ориентированный по горизонтали, для понятности набросал страничку html, и небольшое описание, извиняйте я только начинаю и в js не силён...
|
может тебе поможет http://jquery.page2page.ru/index.php...%80%D 1%8C_UI
|
Часовой пояс GMT +3, время: 02:08. |