当前位置: 代码迷 >> JavaScript >> fullcalendar 日历月部分的比较,该怎么处理
  详细解决方案

fullcalendar 日历月部分的比较,该怎么处理

热度:987   发布时间:2014-01-12 00:03:16.0
fullcalendar 日历月部分的比较
  function setFocusDays(days,calendarID,currentDate,viewName) {
       //fullCalendar由于没有重新生成table,所以上一次对比可能成功的样式没有去掉
        //要注意先清空可能已经设置的td样式,要不对不不成功上一次设置的td样式还会保留下来
        $('#' + calendarID + ' th,#' + calendarID + ' td').removeClass({ 'background-color': 'red', color: 'white'});

        var divDay = viewName == 'month' ?  $('#' + calendarID + ' div.fc-day-number'):''  //获取fullCalendar显示日期的div容器
            , d, td, currentYear = currentDate.getFullYear(), currentMonth = currentDate.getMonth(), date = currentDate.getDate();
        for (var i = 0; i < days.length; i++) {
             //不是当前年和月份继续下一次循环

            if (viewName == 'basicDay') { //按日显示,currentDate即为显示的日期
                if (days[i].getDate() == date)//日对比成功
                    $('#' + calendarID + ' div.fc-view-basicDay').find('th,td').css({ 'background-color': 'red', color: 'white'});
                continue;
            }
            else if (viewName == 'basicWeek') { //按周显示,currentDate即为显示的周的星期一
                for (var j = 0; j < 7; j++)
                    if (days[i].getDate() == date + j) {
                        $('#' + calendarID + ' div.fc-view-basicWeek').find('th:eq(' + j + ')').css({ 'background-color': 'red', color: 'white'}).end().find('td:eq(' + j + ')').css({ 'background-color': 'red', color: 'white'});
                        break;
                    }
                continue;
            }
            //按月份
            d = days[i].getDate().toString(); //获取日部分数据
            m = days[i].getMonth().toString();
            divDay.each(function () {//遍历fullCalendar日部分
                td = $(this).closest('td');
                //对比成功,还需要判断这个日期不是其他月份
                if (this.innerHTML == d && td.attr('class').indexOf('fc-other-month') == -1&&) {
                    td.css({ 'background-color': 'red', color: 'white'}); 
                    return false;
                }
            });
        }
    }

这个如何比较完整的日期

------解决方案--------------------
重新修改过了,依据fullcalendar当前显示的日期进行对比,参数注意修改过了,自己研究下:fullCalendar设置日期td样式