我需要一个可以每年改变这两个div的内容的JS。例如:1月1日日期div为“JAN 1”,moto div为1月1日的一些moto,然后是1月2日日期和moto更改但不随机我365天的每一天都有文本。所以只是一个例子,我可以填写其余部分。我认为JS,但如果更容易,可以在服务器端使用PHP。
<div id="date"><h3>JAN 1</h3></div>
<div id="moto" align="center">Example Text.</div>
答案 0 :(得分:2)
只是为了幽默你的请求我提供了一个解决方案......就像其他答案所说的那样:这是最好的服务器端。
<script>
var date = new Date(); //get current date
var month = date.getMonth();
var day = date.getDate();
var months = ['JAN', 'FEB', ... , 'DEC']; //array of month formats
//define mottos as a multi-dimensional array by month and day
var mottos = [
[
'JAN 1 Motto',
'JAN 2 Motto',
...,
'JAN 31 Motto'
],
...,
[
'DEC 1 Motto',
...,
'DEC 31 Motto'
]
];
//set the Date DIV
document.getElementById('date').innerHTML = months[month] + " " + day;
//set the Motto DIV; the day - 1 accounts for the zero-indexed arrays
document.getElementById('moto').innerHTML = mottos[month][day - 1];
</script>
使用PHP:
<?php
//Similar to the above JS method
$mottos = array(
array(
'Jan 1 Motto',
...
),
...
);
$date = new DateTime();
$month = (int) $date->format('n');
$day = (int) $date->format('j');
?>
<div id="date"><h3><?php echo strtoupper($date->format('M j')); ?></h3></div>
<div id="moto" align="center"><?php echo $motto[$month - 1][$day - 1];</div>
答案 1 :(得分:1)
我会用一些php生成javascript文件,完全有效。
答案 2 :(得分:1)
如果这是一个网页,那么在javascript中放入365个条目并不是一个好主意,你会将所有这些条目发送给用户,而用户只会从其中一个中受益。您应该使用后端的任何语言生成它。
答案 3 :(得分:1)
对于H3,您可以使用date.js 此代码以您所需的格式返回今天的日期:
Date.today().toString('MMM d')
现场演示: http://jsfiddle.net/A6u28/
至于moto,我推荐一个JSON文件。 JSON文件只是一个静态文件(如常规文本文件)。例如,您可以拥有此JSON文件:
{
"motos": [
"Moto 1 blah blah blah ... ",
"Moto 2 blah blah ... ",
"Moto 3 ... "
]
}
然后你可以使用jQuery来检索那个JSON文件并填充你的DIV:
$.getJSON('http://yourserver.com/motos.json', function(data) {
$('#moto').text(data.motos[Date.today().getDayOfYear()]);
});
因此,Date.today().getDayOfYear()
将返回与当年的当前日期(今天为181)对应的整数,因此您可以从'motos'
数组的第181个位置检索字符串JSON文件......