我在网站上找到了这段代码, 我想知道这个功能是什么和做什么的。 我知道PHP,HTML,CSS和JavaScript, 但我还没有学过JQUERY和AJAX。我特别需要知道他们遵循的例程,把东西放在colors数组中,它是随机的,还是有一个模式:
$('#onehour_next').css('backgroundColor', colors[(hours == 23 ? 0 : hours+1)]);
function doStuff()
{
current = new Date();
hours = current.getHours();
minutes = 59 - current.getMinutes();
seconds = 59 - current.getSeconds();
onehour.innerHTML = prettyTime(0, minutes, seconds);
if (colors.length === 0 || current.getSeconds() === 0)
init();
$('#onehour').css('backgroundColor', colors[hours]);
$('#onehour_next').css('backgroundColor', colors[(hours == 23 ? 0 : hours+1)]);
setTimeout(doStuff, 1000);
}
答案 0 :(得分:0)
代码为一天中的每个小时设置不同的颜色。
数组colors
未在此代码中定义,但可能在列表中包含24种不同的颜色。列表中的第一种颜色将在晚上11点至晚上11:59使用,然后在午夜使用第二种颜色,依此类推,直到第24种颜色在晚上10点到10:59之间使用。
要解释代码的工作原理,您需要查看每个小段。
hours == 23
问“当前23小时(即晚上11点)是当天的小时”0
只是零号hour + 1
比当天的当前小时高一个。question ? answer1 : answer2
基本上说“如果问题属实,那就使用answer1。如果是假,请使用answer2”(hours == 23 ? 0 : hours+1)
实质上意味着“将当前时间缩短到当天的下一个小时”,并且将是0到23之间的值colors[n]
表示“在列表颜色中找到第n个值”。请注意,0是第1项,1是第2项,依此类推。$('#onehour_next')
查找标识为onehour_next
.css
根据接下来的两个值设置该元素的CSS 'backgroundColor'
表示正在设置该元素背景的颜色colors[(hours == 23 ? 0 : hours+1)]
得到的值将被设置为元素onehour_next
的背景颜色