Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Помогите найти такой календарь (https://javascript.ru/forum/jquery/22331-pomogite-najjti-takojj-kalendar.html)

dukesoteg 15.10.2011 09:51

Помогите найти такой календарь
 
Вложений: 1
сам не особа разбираюсь в JS, но хочу сделать для себя такой календарик =)
т.е нестандартный чтобы даты шли как-бы списком
такой ведь можно сделать?

Kolyaj 15.10.2011 10:05

Цитата:

Сообщение от dukesoteg
такой ведь можно сделать?

Сделать можно, найти врядли.

dukesoteg 17.10.2011 19:18

Вложений: 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>

DjDiablo 17.10.2011 20:13

Я бы рекомендовал вместо 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];
}

m~r.Nemo 21.11.2012 05:04

Подскажите где можно найти простейший календарь на месяц, ориентированный по горизонтали, для понятности набросал страничку html, и небольшое описание, извиняйте я только начинаю и в js не силён...

bot87 22.11.2012 07:34

может тебе поможет http://jquery.page2page.ru/index.php...%80%D 1%8C_UI


Часовой пояс GMT +3, время: 02:08.