Я пытаюсь изменить цвет часов на моем сайте.Мой код не работает, и мне интересно, какую ошибку я сделал - PullRequest
0 голосов
/ 06 ноября 2011

Этот код должен отображать время красным цветом, если оно происходит после 8:00 ночи в центральном часовом поясе, и зеленым цветом, если это время после 7:30 утра. К сожалению, я впервые с Javascript и я Я, видимо, делаю какую-то ошибку. Ничего не отображается Может кто-нибудь помочь мне найти проблему?

<script type="text/javascript">

var centralDate = getOffsetDate(360);

function getOffsetDate(offsetInMintues) {
  var d = new Date();
  d.setMinutes(d.getMinutes() + d.getTimezoneOffset() - offsetInMintues);
  return d;
}

function GetClock(){
d = getOffsetDate();
nhour  = d.getHours();
nmin   = d.getMinutes();
     if(nhour ==  0) {ap = " AM";nhour = 12;} 
else if(nhour <= 11) {ap = " AM";} 
else if(nhour == 12) {ap = " PM";} 
else if(nhour >= 13) {ap = " PM";nhour -= 12;}

if(nmin <= 9) {nmin = "0" +nmin;}

var h = centralDate.getHours();
var m = centralDate.getMinutes(); 
if (h >= 20 || 
  h <7 ||
  (h == 7 && m <= 30)) {
  c="#FF0000"
}
else {c=#00FF00"}

document.getElementById('clockbox').innerHTML=""+nhour+":"+nmin+ap+"";
setTimeout("GetClock()", 1000);

}

<FONT COLOR=c>;
window.onload=GetClock;
</FONT>
</script>
<div id="clockbox"></div>

Ответы [ 2 ]

1 голос
/ 06 ноября 2011

Вы не передаете ничего в getOffsetDate() внутри GetClock, что объединяет все числовые вычисления.

(плюс материал, который я упомянул в моих комментариях.)

См. Скрипку

(setTimeout закомментирован для моего здравомыслия.)

Вы на самом деле не меняете цвет где-либо, либо;Вы просто устанавливаете значение, и больше никогда ничего не делаете.

Плюс, у вас есть HTML внутри ваших тегов <script>, который не работает.Скорее измените атрибут тега <font> ... хотя теперь никто не использует теги шрифтов теперь, когда мы знаем CSS, поэтому вы, вероятно, захотите сделать это вместо себя.

(я нена самом деле вы хотите позвонить getOffsetDate() с GetClock, но мне не ясно, что вы пытаетесь сделать, поэтому я не знаю. В скрипке я оставил все как есть и передал 0-минутное смещение.)

0 голосов
/ 09 ноября 2011

Вы должны написать последние пять строк, как:

$("<div id='clockbox'></div>").css("color", "red").appendTo("body");

P. S. Если этот код вам незнаком, позвольте мне сказать, что это jQuery, популярная библиотека JavaScript. Вы можете скачать его с jQuery.com и включить его в свою страницу, как и любой другой файл JavaScript.

...