jQuery插件 - 1个月的日历

时间:2012-09-06 14:51:48

标签: jquery date jquery-plugins calendar

我正在尝试识别一个jQuery插件,该插件将显示整个月的日期长度方式(如下所示 - 数字反映了该月的日期(仅限工作日)。

-3 4 5 6 7- -10 11 12 13 14- -17 18 19 20 21- -24 25 26 27 28-

从理论上讲,这种方法可以显示月份列的日期 - 然后可以将几个人的日历作为行显示在下面。这在下面说明:

---------3 4 5 6 7- -10 11 12 13 14- -17 18 19 20 21- -24 25 26 27 28-
Person A X - - - -   -  -  -  X  -    -  -  -  X  X    -  -  -  -  -
Person B X X X - -   -  X  -  X  -    -  -  X  X  X    X  X  X  -  -

我的问题是“我怎样才能通过jQuery实现上述目标?(我曾向Google询问过试图找到合适的插件 - 但我一直无法识别它)”。

1 个答案:

答案 0 :(得分:1)

好吧,lets get you started

(function($){
    var getWeekDaysInCurrentMonth = function(){
        // this will operate off of the current month
        // you can make the month an argument
        // and then d.setMonth(m)

        var d = new Date(), 
            daysInMonth = [], 
            currentDay;

        // go to first day of month
        d.setDate(1);
        var firstDay = d.getDate();
        // go to last day of month
        d.setDate(0);
        var lastDay = d.getDate();

        for (var i = firstDay; i <= lastDay; i++){
            d.setDate(i);
            // get the current day of the week in loop
            currentDay = d.getDay();
            // check not sunday or saturday
            if(currentDay !== 0 && currentDay !== 6)
                daysInMonth.push(i);                
        }
        return daysInMonth;
    };

    console.log(getWeekDaysInCurrentMonth());
    // OUTPUT: [1, 2, 3, 6, 7, 8, 9, 10, 13, 
    //            14, 15, 16, 17, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31] 

})(jQuery)​;​

下一步是将此函数用于jQuery插件以输出一些表格标记。然后,您将添加配置到您的插件,更改标记的显示方式,首先显示的月份等。如果您仔细阅读我的其他一些jQuery答案,您可以找到创建jQuery插件(或谷歌)的示例。