Страница 1 из 1

[Дизайн] Календарь

Добавлено: Пт фев 07, 2014 1:29 pm
PAV
А давайте делиться наработками календарей.
У меня пока получилось так - Изображение
http://www.webmasters.by/articles/web-p ... -css3.html

Re: Календарь

Добавлено: Ср фев 12, 2014 4:31 pm
Amarok
У меня вот такой календурик:
Изображение

Код: Выделить всё

<style>
#calendar2 {
  width: 100%;
  font: monospace;
  line-height: 1.2em;
  font-size: 15px;
  text-align: center;
}
#calendar2 thead tr:last-child {
  font-size: small;
  color: rgb(85, 85, 85);
}
#calendar2 thead tr:nth-child(1) td:nth-child(2) {
  color: rgb(50, 50, 50);
}
#calendar2 thead tr:nth-child(1) td:nth-child(1):hover, #calendar2 thead tr:nth-child(1) td:nth-child(3):hover {
  cursor: pointer;
}
#calendar2 tbody td {
  color: rgb(44, 86, 122);
}
#calendar2 tbody td:nth-child(n+6), #calendar2 .holiday {
  color: rgb(231, 140, 92);
}
#calendar2 tbody td.today {
  background: rgb(220, 0, 0);
  color: #fff;
}
</style>

<table id="calendar2">
  <thead>
    <tr><td>‹<td colspan="5"><td>›
    <tr><td>Пн<td>Вт<td>Ср<td>Чт<td>Пт<td>Сб<td>Вс
  <tbody>
</table>

<script>
function Calendar2(id, year, month) {
var Dlast = new Date(year,month+1,0).getDate(),
    D = new Date(year,month,Dlast),
    DNlast = new Date(D.getFullYear(),D.getMonth(),Dlast).getDay(),
    DNfirst = new Date(D.getFullYear(),D.getMonth(),1).getDay(),
    calendar = '<tr>',
    month=["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"];
if (DNfirst != 0) {
  for(var  i = 1; i < DNfirst; i++) calendar += '<td>';
}else{
  for(var  i = 0; i < 6; i++) calendar += '<td>';
}
for(var  i = 1; i <= Dlast; i++) {
  if (i == new Date().getDate() && D.getFullYear() == new Date().getFullYear() && D.getMonth() == new Date().getMonth()) {
    calendar += '<td class="today">' + i;
  }else{
    calendar += '<td>' + i;
  }
  if (new Date(D.getFullYear(),D.getMonth(),i).getDay() == 0) {
    calendar += '<tr>';
  }
}
for(var  i = DNlast; i < 7; i++) calendar += '<td>&nbsp;';
document.querySelector('#'+id+' tbody').innerHTML = calendar;
document.querySelector('#'+id+' thead td:nth-child(2)').innerHTML = month[D.getMonth()] +' '+ D.getFullYear();
document.querySelector('#'+id+' thead td:nth-child(2)').dataset.month = D.getMonth();
document.querySelector('#'+id+' thead td:nth-child(2)').dataset.year = D.getFullYear();
if (document.querySelectorAll('#'+id+' tbody tr').length < 6) {  // чтобы при перелистывании месяцев не "подпрыгивала" вся страница, добавляется ряд пустых клеток. Итог: всегда 6 строк для цифр
    document.querySelector('#'+id+' tbody').innerHTML += '<tr><td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;';
}
}
Calendar2("calendar2", new Date().getFullYear(), new Date().getMonth());
// переключатель минус месяц
document.querySelector('#calendar2 thead tr:nth-child(1) td:nth-child(1)').onclick = function() {
  Calendar2("calendar2", document.querySelector('#calendar2 thead td:nth-child(2)').dataset.year, parseFloat(document.querySelector('#calendar2 thead td:nth-child(2)').dataset.month)-1);
}
// переключатель плюс месяц
document.querySelector('#calendar2 thead tr:nth-child(1) td:nth-child(3)').onclick = function() {
  Calendar2("calendar2", document.querySelector('#calendar2 thead td:nth-child(2)').dataset.year, parseFloat(document.querySelector('#calendar2 thead td:nth-child(2)').dataset.month)+1);
}
</script>

Re: Календарь

Добавлено: Чт фев 13, 2014 2:44 pm
kanakoff
Можно ли прикрутить Google.Calendar вместо штатного календаря?

Re: Календарь

Добавлено: Чт фев 13, 2014 3:38 pm
Ivan
Хорошо бы ещё сделать приложения из маркета Google.Calendar

Re: Календарь

Добавлено: Ср июл 16, 2014 10:33 am
PAV
Ни у кого не получилось Google calendar прикрутить?

Re: Календарь

Добавлено: Ср июл 16, 2014 12:06 pm
Ivan
У меня почти получилось сделать импорт. Загвоздка встала в шаблонах МД, пока забил. Если интересно гдето кидал исходники по логину и чтению календаря с Гугля

Re: Календарь

Добавлено: Ср июл 16, 2014 12:36 pm
PAV
Нужен не импорт, нужна синхронизация.

Re: Календарь

Добавлено: Ср июл 16, 2014 1:07 pm
Ivan
Я пока делал импорт. Т.к. синхронизация боле сложный механизм.
Но если у вас есть возможность написать синхронизацию. Кто вам мешает. Доступ идёт ведь через официальный API

Re: Календарь

Добавлено: Ср июл 16, 2014 2:15 pm
PAV
дык, если бы умел, не спрашивал ;)

Re: [Дизайн] Календарь

Добавлено: Чт фев 27, 2020 1:49 pm
PAV
Други, а никто не сделал календаря, типа такого?
Хочу e-ink книжку запустить в режиме календаря. Пока CalenGoo приспособил, но хочу вывести страницу и с календарем и с инфой от МЖД.
1ZEYShP22.jpg
1ZEYShP22.jpg (273.2 КБ) 5103 просмотра