1

アプリケーションで次のカレンダーを使用しています jquery-week-calendar

前と次のボタンをクリックすると、前と次の週以外の前と翌日に移動するように変更したいと思います。

私はjqueryを初めて使用し、これにつながるコードの一部を見つけることができました。

  prevWeek : function() {
     //minus more than 1 day to be sure we're in previous week - account for daylight savings or other anomolies
     var newDate = new Date(this.element.data("startDate").getTime() - (MILLIS_IN_WEEK / 6));
     this._clearCalendar();
     this._loadCalEvents(newDate);
  },

  /*
   * Go to the next week relative to the currently displayed week
   */
  nextWeek : function() {
     //add 8 days to be sure of being in prev week - allows for daylight savings or other anomolies
     var newDate = new Date(this.element.data("startDate").getTime() + MILLIS_IN_WEEK + (MILLIS_IN_WEEK / 7));
     this._clearCalendar();
     this._loadCalEvents(newDate);
  }



   _loadCalEvents : function(dateWithinWeek) {

     var date, weekStartDate, endDate, $weekDayColumns;
     var self = this;
     var options = this.options;
     date = dateWithinWeek || options.date;
     weekStartDate = self._dateFirstDayOfWeek(date);
     weekEndDate = self._dateLastMilliOfWeek(date);

     options.calendarBeforeLoad(self.element);

     self.element.data("startDate", weekStartDate);
     self.element.data("endDate", weekEndDate);

     $weekDayColumns = self.element.find(".wc-day-column-inner");

     self._updateDayColumnHeader($weekDayColumns);

     //load events by chosen means
     if (typeof options.data == 'string') {
        if (options.loading) options.loading(true);
        var jsonOptions = {};
        jsonOptions[options.startParam || 'start'] = Math.round(weekStartDate.getTime() / 1000);
        jsonOptions[options.endParam || 'end'] = Math.round(weekEndDate.getTime() / 1000);
        $.getJSON(options.data, jsonOptions, function(data) {
           self._renderEvents(data, $weekDayColumns);
           if (options.loading) options.loading(false);
        });
     }
     else if ($.isFunction(options.data)) {
        options.data(weekStartDate, weekEndDate,
              function(data) {
                 self._renderEvents(data, $weekDayColumns);
              });
     }
     else if (options.data) {
           self._renderEvents(options.data, $weekDayColumns);
        }

     self._disableTextSelect($weekDayColumns);


  }
4

1 に答える 1

2

カレンダーに残りの機能を追加していただければ幸いです。

あなたはこれを使用して行うことができます:

 prevWeek : function() {

     var newDate = new Date(this.element.data("startDate"));
     newDate = this._addDays(newDate , -1);
     this._clearCalendar();
     this._loadCalEvents(newDate);
  },

  nextWeek : function() {

     var newDate = new Date(this.element.data("startDate"));
     newDate = this._addDays(newDate , 1);
     this._clearCalendar();
     this._loadCalEvents(newDate);
  }
于 2013-07-19T11:45:40.207 に答える