Четверг, 26.06.2025, 20:14
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход




[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: free4you, Маратка  
Скрипт календаря!
rascalДата: Пятница, 06.02.2009, 19:35 | Сообщение # 1
Лейтенант
Группа: Модераторы
Сообщений: 71
Статус: Offline
Для этого скрипта вам нужно зделать следуещее:
1.Создайте файл calendar_setting.js и вставте туда этот код:
Code

function getSetting()
{
  var sSetting = new Array(13);

  // Внедряемые стили для элементов календаря (фон ячеек, шрифт текста и др.)
  // в виде html-аттрибутов соответствующих тегов
    // таблица календаря
  sSetting[0] = 'border="1" cellpadding="2" style="{font-family: verdana; font-size: 9pt;}"';
    // титульная ячейка с указанием месяца и года
  sSetting[1] = 'style="{text-align: center; font-weight: bold;}"';
    // ячейка названия дня недели
  sSetting[2] = 'style="{text-align: center; font-weight: bold;}"';
    // строка дней недели
  sSetting[3] = '';
    // ячейка текущего месяца
  sSetting[4] = 'width="23" align="center" style="{text-align: center; background-color: #e0eee0;}"';
    // пустая ячейка следующего месяца
  sSetting[5] = 'width="23" style="{background-color: #f0f0f0;}"';
    // пустая ячейка прошлого месяца
  sSetting[6] = 'width="23" style="{background-color: #f0f0f0;}"';
    // ячейка текущего дня
  sSetting[7] = 'width="23" style="{text-align: center; font-weight: bold;}"';
    // оформление ссылки дня текущего месяца
  sSetting[8] = 'style="{color: #000000;}"';
    // оформление ссылки текущего дня
  sSetting[9] = '';

  // URL для перехода по дням месяца
  //   (пустое значение означает отсутствие ссылки)
   // ссылка дня текущего месяца
   // вместо %D% вставляется номер месяца
   // вместо %M% - номер месяца, вместо %Y% - номер года
  sSetting[10] = "?date=%D%.%M%.%Y%";
   // ссылка текущего дня
   // также действуют константы %D%, %M%, %Y%
  sSetting[11] = "?date=%D%.%M%.%Y%&attr=now";

  // Названия дней недели, разделенные точкой с запятой
  //  (вариант: "П;В;С;Ч;П;С;В")
  sSetting[12] = "Пн;Вт;Ср;Чт;Пт;Сб;Вс";

  // Текст, вставляемый в ячейки дней прошлого и следующего месяца
  //  (вариант: " ")
  sSetting[13] = "";

  return sSetting;
}

Сохраните файл!

читайте далее...



Romzes reless
 
rascalДата: Пятница, 06.02.2009, 19:39 | Сообщение # 2
Лейтенант
Группа: Модераторы
Сообщений: 71
Статус: Offline
2.Создайте файл calendar.js и вставте туда это:
Code

function getDays(month, year)
{
if (month == 1)
return (year % 4 == 0) ? 29 : 28;
else if (month == 3 || month == 5 || month == 8 || month == 10)
return 30;
else
return 31;
}

function getMonthName(month)
{
var nameMonth = new Array("Январь", "Февраль", "Март", "Апрель",
"Май", "Июнь", "Июль", "Август",
"Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
return nameMonth[month];
}

function replaceAnchor(sReference, sDay, sMonth, sYear)
{
sReference = sReference.replace("%D%", sDay);
sReference = sReference.replace("%M%", sMonth);
return sReference.replace("%Y%", sYear);
}

function generateCalendar(sSetting, now)
{
var year = now.getYear();
var month = now.getMonth();
var monthName = getMonthName(month);
var date = now.getDate();
now = null;
var firstDayInstance = new Date(year, month, 1);
var firstDay = firstDayInstance.getDay();
if (firstDay == 0)
   firstDay = 7;
firstDayInstance = null;
var days = getDays(month, year);
return drawCalendar(firstDay, days, date, month, monthName, year, sSetting);
}

function drawCalendar(firstDay, lastDate, date, month, monthName, year, sSetting)
{
var text = "";
text += '<table ' + sSetting[0] + '>';
text += '  <tr><td colspan="7" ' + sSetting[1] + '>';
text += monthName + ' ' + year;
text += ' </td></tr>';

var weekDay = sSetting[12].split(';');

var openCol = '<td ' + sSetting[2] + '>';
var closeCol = '</td>';
text += '<tr>';
  for (var dayNum = 0; dayNum < 7; ++dayNum)
  text += openCol + weekDay[dayNum] + closeCol;
text += '</tr>';

var digit = 1;
var curCell = 1;
for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row)
{
   text += '<tr ' + sSetting[3] + '>';
for (var col = 1; col <= 7; ++col)
{
text += '<td ';
  if (digit > lastDate)
text += sSetting[5] + '>';
  else if (curCell < firstDay)
  {
text += sSetting[6] + '>';
  curCell++;
  }
  else
  {
if (digit == date)
  {
text += sSetting[7];
text += '>';
  if (sSetting[11] != "")
{
text += '<a href="' + replaceAnchor(sSetting[11], digit, month, year) + '" ' + sSetting[9] + '>';
    text += digit;
   text += '</a>';
  }
else
text += digit;
  }
  else
   {
text += sSetting[4];
  text += '>';
  if (sSetting[10] != "")
   {
   text += '<a href="' + replaceAnchor(sSetting[10], digit, month, year) + '" ' + sSetting[8] + '>';
    text += digit;
  text += '</a>';
  }
  else
    text += digit;
  }
  digit++;
  }
   text += '</td>';
}
text += '</tr>';
}
text += '</table>';
return text;
}

Сохраните файл!
читайте далее...



Romzes reless
 
rascalДата: Пятница, 06.02.2009, 19:40 | Сообщение # 3
Лейтенант
Группа: Модераторы
Сообщений: 71
Статус: Offline
3.Загрузите созданые файлы на сайт и вставте на страницу следующий код:
Code

<!-- содержит параметры визуализации календаря -->
<script language="javascript" src="calendar_setting.js"></script>

<!-- показывает календарь за текущий месяц -->
<script language="javascript" src="calendar.js"></script>

<script language="javascript">
  // запонимаем текущую дату, по которой будет найден
  // необходимый месяц для формирования календаря
  var nowDate = new Date();
  // запонимаем параметры отображения календаря
  var sSetting = getSetting();
  // формируем html-код календаря
  var sText = generateCalendar(sSetting, nowDate);
  // показываем календарь
  document.write(sText);
</script>

Если всё зделано правильно тогда должно получится!

Простите что во втором коде писал без подсветки просто нужно было вложится в лимит символом!



Romzes reless
 
goaleadorДата: Суббота, 07.02.2009, 20:42 | Сообщение # 4
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
Скрин в студию! dry
 
  • Страница 1 из 1
  • 1
Поиск:




Сделать бесплатный сайт с uCoz
Инженерные решения
Магазин радиодеталей в Москве MkChip.ru
Хостнг с php и mysql