一年又一年地变化

时间:2013-12-27 09:03:52

标签: javascript

我在javascript中更新鲜。

var i = 0;
 var months = [ "January", "February", "March", "April", "May", "June", "July", "August","September", "October", "November", "December" ]; // Store month names in array

function Next(id) {
    i++;


    if (i > 12) {
        i = 1;
    }

    $('#monthname').empty().append('<div id="r'+ i +'" class="monthname">'+months[i-1]+'</div>')

    if( months[i-1] == "January"){
        alert(1);
            var year = new Date().getFullYear()+i;
            $('#year').empty().append('<div id="r'+ i +'" class="year">'+year+'</div>')
    }
}

这是我可以获得当前月份和年份的代码。在1月份的时候,我可以在2014年迎来新的一年。但是在1月份的时候,我再也无法迎接新的一年。我可以得到警报。但是明年不会取代年份。

2 个答案:

答案 0 :(得分:1)

只有当我为1时,if才会成功,因此new Date().getFullYear() + i将始终为2014年(直到星期三)。这是一个更简单的代码修正版本:

var ym = 12 * new Date().getFullYear() + 11;
var months = ["January", "February", "March", "April", "May", "June", "July", "August","September", "October", "November", "December"];

function Next(id) {
    if (++ym % 12 == 0) {
        var year = ym / 12;
        $('#year').html('<div id="y'+ year +'" class="year">' + year + '</div>');
    }
    var month = ym % 12 + 1;
    $('#monthname').empty().append(
        '<div id="m'+ month +'" class="monthname">'+months[month - 1]+'</div>');
}

我已经猜到了年度和月份的好ids。现有的不是很好。

答案 1 :(得分:0)

假设您只想在几个月内使用一个计数器,这将起作用

var i = 0;
var months = [ "January", "February", "March", "April", "May", "June", "July", "August","September", "October", "November", "December" ]; // Store month names in array

function Next(id) {
   var d= new Date();
   d.setMonth(i);
  var year = d.getFullYear();
  $('#monthname').empty().append('<div id="r'+ i'" class="monthname">'+months[d.getMonth()]+'</div>');
  $('#year').empty().append('<div id="r'+ year+'" class="year">'+year+'</div>');
  i++
}