3

丸 1 か月分の日付の長さを表示する 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 に問い合わせましたが、特定できませんでした)」です。

4

1 に答える 1

1

では、始めましょう

(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 プラグイン (または google) の作成例を見つけることができます。

于 2012-09-06T15:07:56.240 に答える