Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.06.2012, 13:10
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Календарик с часами
Помогите, пожалуйста! Вот в этом скрипте нужно, чтобы ячейка "сегодняшний день" выделялась полностью, а не только число в ней. Не пойму, как это сделать...
<center>
<TABLE cellSpacing=0 cellPadding=2 width=160 height=160>
<TR style="background-color: #ffffcc">
<TD vAlign=center align=middle width="100%">
<DIV style="WIDTH: 100%" align=center>
<SCRIPT language=JavaScript> 
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]=29;<!--В високосный год исправить на 29-->
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("<FONT face='verdana'>");
document.write("<table border=1 " );
document.write("style='font-size : 13px; color : #ff0000; font-weight: bold; ???•?????:???:????A????' cellpadding=1 cellspacing=2>");<!--Цвета для каждого дня-->
document.write("<tr><td align=center colspan=7><center>" 
+ monthnames[thismonth] + " " + thisyear 
+ "</center></td></tr>");
document.write("<tr>");
<!--Цвета названий дней недели-->
document.write("<td align=center><font color=#0000ff>Вс</td>");
document.write("<td align=center><font color=#0000ff>Пн</td>");
document.write("<td align=center><font color=#0000ff>Вт</td>");
document.write("<td align=center><font color=#0000ff>Ср</td>");
document.write("<td align=center><font color=#0000ff>Чт</td>");
document.write("<td align=center><font color=#0000ff>Пт</td>");
document.write("<td align=center><font color=#0000ff>Сб</td>");
document.write("</tr>");
document.write("<tr>");

for (s=0;s<startspaces;s++) {
document.write("<td align=center> </td>");
}
count=1;
while (count <= monthdays[thismonth]) {
for (b = startspaces;b<7;b++) {
linktrue=false;
document.write("<td align=center>");
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("<span style='background-color: #00ff00;border: 1px solid #ff0000'><font color='#000000'>");
}
if (count <= monthdays[thismonth]) {
document.write(count);
}
else {
document.write(" ");
}
if (count==thisdate) {
document.write("</font>");
}
if (linktrue)
document.write("</a>");
document.write("</td>");
count++;
}
document.write("</tr>");
document.write("<tr>");
startspaces=0;
}
document.write("</table>");
document.write("</FONT>");
</SCRIPT>
</DIV></TD></TR>
<TR style="background-color: gray">
<TD vAlign=center align=middle width="100%">
<DIV align=center>
<CENTER>
<TABLE style="BORDER-RIGHT: #ff00ff 1px solid; BORDER-TOP: #ff00ff 1px solid; BORDER-LEFT: #ff00ff 1px solid; BORDER-BOTTOM: #ff00ff 1px solid" cellSpacing=0 cellPadding=0 bgColor=#ffcc00 border=0><!--Цвет и стиль рамки для часиков-->
<TR>
<TD width="100%"><FONT face=Verdana size=1><STRONG>
<SCRIPT>
document.write("<FONT color='#000000' face='verdana' style='font-size : 13px;'>");
var clockid=new Array()
var clockidoutside=new Array()
var i_clock=-1
var thistime= new Date()
var hours=thistime.getHours()
var minutes=thistime.getMinutes()
var seconds=thistime.getSeconds()
if (eval(hours) <10) {hours="0"+hours}
if (eval(minutes) < 10) {minutes="0"+minutes}
if (seconds < 10) {seconds="0"+seconds}
var thistime = hours+":"+minutes+":"+seconds

function writeclock() {
i_clock++
if (document.all || document.getElementById || document.layers) {
clockid[i_clock]="clock"+i_clock
document.write("<span id='"+clockid[i_clock]+"' style='position:relative'>"+thistime+"</span>")
}
}

function clockon() {
thistime= new Date()
hours=thistime.getHours()
minutes=thistime.getMinutes()
seconds=thistime.getSeconds()
if (eval(hours) <10) {hours="0"+hours}
if (eval(minutes) < 10) {minutes="0"+minutes}
if (seconds < 10) {seconds="0"+seconds}
thistime = hours+":"+minutes+":"+seconds

if (document.all) {
for (i=0;i<=clockid.length-1;i++) {
var thisclock=eval(clockid[i])
thisclock.innerHTML=thistime
}
}

if (document.getElementById) {
for (i=0;i<=clockid.length-1;i++) {
document.getElementById(clockid[i]).innerHTML=thistime
}
}
var timer=setTimeout("clockon()",1000)
}
window.onload=clockon
</SCRIPT>
<SCRIPT>writeclock()</SCRIPT>
</STRONG></FONT></TD></TR></TABLE></CENTER></DIV></table><center/>

Последний раз редактировалось Hekumok, 11.06.2012 в 14:09.
Ответить с цитированием
  #2 (permalink)  
Старый 11.06.2012, 15:09
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Hekumok
Не пойму, как это сделать...
1. Поставить на span в ячейке с текущей датой ID
if (count==thisdate) {
document.write("<span id="Thisdate" style='background-color: #00ff00;border: 1px solid #ff0000'><font color='#000000'>");

2. В конце скрипта ищите данный элемент и родителю(Parent) - ставите backgroundСolor
Ответить с цитированием
  #3 (permalink)  
Старый 11.06.2012, 15:43
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

ок спасибо =)
Ответить с цитированием
  #4 (permalink)  
Старый 11.06.2012, 16:32
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

блин, добавляю id и у меня календарь вабще не появляется, тока часы почти на всю таблицу...почему?
Ответить с цитированием
  #5 (permalink)  
Старый 11.06.2012, 17:28
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Hekumok,
Выложите текущий код (см свой скрипт - подставить id нужно в строку 92
Ответить с цитированием
  #6 (permalink)  
Старый 11.06.2012, 17:48
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

вот, как вы и сказали, вставил id="Thisdate" сюда
if (count==thisdate) {
document.write("<span id="Thisdate" style='background-color: #00ff00;border: 1px
solid #ff0000'><font color='#000000'>");

И работают только часы, которые на пол страницы
Ответить с цитированием
  #7 (permalink)  
Старый 11.06.2012, 17:51
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Hekumok,
Cоррь - (Не те кавычки поставил

if (count==thisdate) {
document.write("<span id='Thisdate' style='background-color: #00ff00;border: 1px
solid #ff0000'><font color='#000000'>");
Ответить с цитированием
  #8 (permalink)  
Старый 11.06.2012, 17:52
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

a, понял в чем была проблема, надо было кавычки другие
if (count==thisdate) {
document.write("<span id='Thisdate' style='background-color: #00ff00;border: 1px
solid #ff0000'><font color='#000000'>");
Т.к. там я ставил одни и те же кавычки и браузер считал, что там кончается
Ответить с цитированием
  #9 (permalink)  
Старый 11.06.2012, 17:54
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Сообщение от Deff Посмотреть сообщение
Hekumok,
Cоррь - (Не те кавычки поставил

if (count==thisdate) {
document.write("<span id='Thisdate' style='background-color: #00ff00;border: 1px
solid #ff0000'><font color='#000000'>");
Да-да, я уже сам разобрался
Ответить с цитированием
  #10 (permalink)  
Старый 11.06.2012, 18:30
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Deff, спасибо... вставил в конец скрипта еще строчку, как вы и сказали
document.getElementById('Thisdate').style.backgrou ndColor="0f0"
Bce работает, большое вам спасибо =)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите пожалуйста с часами ??? Общие вопросы Javascript 13 03.01.2012 08:37
Календарик с датами systemiv Общие вопросы Javascript 3 22.08.2011 12:20
Календарик knyaz Общие вопросы Javascript 0 03.02.2009 14:14