每天更改DIV之间的内容

时间:2011-07-01 21:46:04

标签: php javascript html

我需要一个可以每年改变这两个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>

4 个答案:

答案 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文件......