Показать сообщение отдельно
  #2 (permalink)  
Старый 08.10.2014, 17:47
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Нашел вот такой скрипт, который красит ячейки таблицы по кругу в 2 разных цвета.
по сути что подобное нужно реализовать с календарем. Проблема в том, как потом эту информацию сохранить, чтобы вывести где-либо в другой месте сайта?
<style>
#myTBL td     {background: white; color: black}
#myTBL td.act {background: black; color: white}
</style>
<script>
function myFunc (e)                               // в одних браузерах при клике сгенерируется объект event и передастся функции как аргумент e, в других - не передастся
{
var evt = window.event || e,                      // где event не передался, пользуем window.event
    obj = evt.srcElement || evt.target;           // получаем тег, по которому кликнули - синтаксис для двух групп браузеров
if (obj.tagName == 'TABLE') return;               // кликнули по бордеру или по межячеечному пространству, т.е. не точно по ячейке 
while (obj.tagName != 'TD') obj = obj.parentNode; // в ячейке могут быть внутренние теги (см. b22) - вверх по иерархии доходим от них до тега TD
obj.className = obj.className ? '' : 'act';       // если фон был белым, станет чёрным, и - наоборот
}
 
// только ПОСЛЕ окончания загрузки браузер будет знать о существовании тега с id="myTBL"
// и только ТОГДА мы можем дать браузеру команду назначить функцию обработки события клика по этому тегу
onload = function ()
{
var trg = document.getElementById ('myTBL');
if (document.addEventListener) trg.addEventListener ('click', myFunc); // синтаксис назначения функции для одних браузеров
else if (document.attachEvent) trg.attachEvent ('onclick', myFunc);    // для других
else trg.onclick = myFunc;                                             // для третьих
}
</script>

<table id="myTBL" cellpadding="5" cellspacing="10" border="1">
<tr><td>b00</td><td>b01</td><td>b02</td></tr>
<tr><td>b10</td><td>b11</td><td>b12</td></tr>
<tr><td>b20</td><td>b21</td><td><span><b>b<i>2<u>2</u></i></b></span></td></tr>
</table>
Ответить с цитированием