javascript:yahho-calendar
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
javascript:yahho-calendar [2009/02/04 23:05] – 説明の微修正 dgbadmin | javascript:yahho-calendar [2018/03/10 12:30] (現在) – [サンプル] サンプル7を追加 dgbadmin | ||
---|---|---|---|
行 5: | 行 5: | ||
{{javascript: | {{javascript: | ||
- | [[http://developer.yahoo.com/yui/ | + | Webのformで日付を入力する際に日付の選択をしやすくするためのポップアップカレンダー(Datepikcer)を表示するJavaScriptライブラリです。別Windowで開くのではなく、form上に表示します。(サンプルを見てもらうと分かりやすいと思います。) |
- | 合わせて[[google-calendar-holidays|GCalHolidays]]を使うと祝日の表示もできます。\\ | + | |
+ | カレンダーは[[http://yui.github.io/yui2/|YUI 2 (Yahoo! UI Library | ||
+ | また、これと合わせて[[google-calendar-holidays|GCalendar Holidays]]を使うとカレンダー上に祝日の表示もできてます。\\ | ||
Yahoo!の日本版ということでヤッホーという名前にしました。(昔、Yahho!てサイトありましたね。) | Yahoo!の日本版ということでヤッホーという名前にしました。(昔、Yahho!てサイトありましたね。) | ||
行 12: | 行 14: | ||
===== サンプル ===== | ===== サンプル ===== | ||
- | [[http:// | + | [[http:// |
+ | [[http:// | ||
+ | [[http:// | ||
+ | [[http:// | ||
+ | [[http:// | ||
+ | [[http:// | ||
+ | [[http:// | ||
※サンプルで使っているのは最新のBeta版の場合あり | ※サンプルで使っているのは最新のBeta版の場合あり | ||
行 19: | 行 27: | ||
===== ライセンス ===== | ===== ライセンス ===== | ||
Yahho Calendarは[[http:// | Yahho Calendarは[[http:// | ||
- | 内部的に使っているYUIは[[http://developer.yahoo.com/yui/license.html|BSDライセンス]]です。\\ | + | 内部的に使っているYUIは[[https://github.com/yui/yui3/ |
- | YahhoCal.loadYUI()を使うと、デフォルトではGoogleによってホスティングされているYUIのファイルがロードされます。これを使う場合は[[http://code.google.com/ | + | YahhoCal.loadYUI()を使うと、デフォルトではGoogleによってホスティングされているYUIのファイルがロードされます。これを使う場合は[[https://developers.google.com/ |
- | また、祝日を表示する場合は[[http://www.google.com/ | + | また、祝日を表示する場合は[[https://developers.google.com/ |
===== ダウンロード ===== | ===== ダウンロード ===== | ||
- | [[http:// | + | [[http://g.0-oo.net/yahho-calendar.js|yahho-calendar.js]]\\ |
< | < | ||
- | また、祝日を表示する場合は[[http:// | + | また、祝日を表示するには[[Google Calendar Holidays|GCalendar Holidays]]も必要です。 |
※ダウンロードのリンク先が最新のBeta版の場合あり | ※ダウンロードのリンク先が最新のBeta版の場合あり | ||
行 38: | 行 46: | ||
===== Yahho Calendarの使い方の例 ===== | ===== Yahho Calendarの使い方の例 ===== | ||
- | - まずは、Yahho CalendarのJavaScriptファイルを読み込みます。祝日も表示するなら一緒に[[Google Calendar Holidays|GCalHolidays]]も読み込んでください。(パスは環境に合わせて変えてください。)< | + | - まずは、Yahho CalendarのJavaScriptファイルを読み込みます。祝日も表示するなら一緒に[[Google Calendar Holidays|GCalendar Holidays]]も読み込んでください。(パスは環境に合わせて変えてください。)< |
- | <script type=" | + | <script type=" |
- | <script type=" | + | <script type=" |
</ | </ | ||
- 次に、YUIのJavaScriptとCSSをロードします。< | - 次に、YUIのJavaScriptとCSSをロードします。< | ||
行 49: | 行 57: | ||
</ | </ | ||
</ | </ | ||
- | - あとは、onClickやonFocusなどのトリガーからYahhoCal.render()を呼べば、カレンダーを表示できます。パラメータとして、日付を入力する要素のid属性を渡してください。 | + | - あとは、onclickやonfocusなどのトリガーからYahhoCal.render()を呼べば、カレンダーを表示できます。パラメータとして、日付を入力する要素のid属性を渡してください。 |
* 例1:日付をテキストボックス1つに入力する場合の例。(日付の表示形式は" | * 例1:日付をテキストボックス1つに入力する場合の例。(日付の表示形式は" | ||
<input type=" | <input type=" | ||
行 69: | 行 77: | ||
===== Yahho Calendar API リファレンス ===== | ===== Yahho Calendar API リファレンス ===== | ||
- | ==== YahhoCal.render(inputId, | + | ==== YahhoCal.render(inputId, |
* 概要 | * 概要 | ||
* カレンダーを表示する。 | * カレンダーを表示する。 | ||
* パラメータ | * パラメータ | ||
- | * 日付を1つのテキストボックスに入力する場合・・・inputIdにはテキストボックスのid属性を渡す。monthId・dateIdには何も渡さない。 | + | |
- | * 日付を年・月・日に分けて3つのテキストボックスまたは選択リストに入力する場合・・・それぞれのテキストボックスまたは選択リストに対応させて、inputIdには年のid属性、monthIdには月のid属性、dateIdには日のid属性を渡す | + | |
+ | * inputIdにはテキストボックスのid属性を渡す。monthId・dateIdには何も渡さない。 | ||
+ | * 日付を年・月・日に分けて3つのテキストボックスまたは選択リストに入力する場合 | ||
+ | * それぞれのテキストボックスまたは選択リストに対応させて、inputIdには年のid属性、monthIdには月のid属性、dateIdには日のid属性を渡す | ||
+ | * insertId : 省略可。カレンダーを表示する場所のid属性。これを指定しない場合、inputIdの場所にカレンダーを表示する | ||
* 戻り値 | * 戻り値 | ||
- | * 無し | + | * カレンダーを表示できたかどうか(true or false) |
- | ==== YahhoCal.loadYUI(yuiBase) ==== | + | ==== YahhoCal.loadYUI(yuiBase, callback) ==== |
* 概要 | * 概要 | ||
* Yahho Calendarで必要なYUIのファイル(JavaScriptとCSS)をGoogleのWebサーバから読み込む。 | * Yahho Calendarで必要なYUIのファイル(JavaScriptとCSS)をGoogleのWebサーバから読み込む。 | ||
- | * 参考:[[http:// | ||
* パラメータ | * パラメータ | ||
- | * 省略可。省略すると、GoogleのサーバからYUIをロードする。自分のサーバからYUIをロードする場合、YUIへのURLのベースとなる部分を渡す | + | * yuiBase : 省略可。省略すると、GoogleのサーバからYUIをロードする。自分のサーバからYUIをロードする場合、YUIへのURLのベースとなる部分を渡す |
+ | * callback : 省略可。YUIロード後に実行するコールバック関数 | ||
* 戻り値 | * 戻り値 | ||
* 無し | * 無し | ||
行 89: | 行 101: | ||
==== YahhoCal.setMondayAs1st() ==== | ==== YahhoCal.setMondayAs1st() ==== | ||
* 概要 | * 概要 | ||
- | * 週の初めを月曜日にする。(デフォルトは日曜日。) | + | * カレンダーの週の初めを月曜日にする。(デフォルトは日曜日。) |
* 週の初めを月曜日にしたい場合、カレンダーを表示する前にこのfunctionを実行する必要がある。 | * 週の初めを月曜日にしたい場合、カレンダーを表示する前にこのfunctionを実行する必要がある。 | ||
* 戻り値 | * 戻り値 | ||
* 無し | * 無し | ||
+ | |||
+ | ==== YahhoCal.setMinDate() ==== | ||
+ | * 概要 | ||
+ | * 指定した日より前の日付をカレンダーで選択できないようにする | ||
+ | * パラメータ | ||
+ | * y : 年(西暦4桁) | ||
+ | * m : 月(1~12) | ||
+ | * d : 日 | ||
+ | |||
+ | ==== YahhoCal.setMaxDate() ==== | ||
+ | * 概要 | ||
+ | * 指定した日より後の日付をカレンダーで選択できないようにする | ||
+ | * パラメータ | ||
+ | * y : 年(西暦4桁) | ||
+ | * m : 月(1~12) | ||
+ | * d : 日 | ||
+ | |||
+ | ==== YahhoCal.locale ==== | ||
+ | * 言語を指定するプロパティ | ||
+ | * 下記の言語から選択できる | ||
+ | * en (英語) | ||
+ | * ja (日本語) | ||
+ | * ko (韓国語) | ||
+ | * zh (中国語。簡体字も繁体字も同じ) | ||
+ | * es (スペイン語) | ||
+ | * pt (ポルトガル語) | ||
+ | |||
+ | ==== YahhoCal.format ==== | ||
+ | * 選択された日付をテキストボックスに貼り付ける場合の日付表記の形式を設定するプロパティ | ||
+ | * 子プロパティとして下記のプロパティがある | ||
+ | * delimiter : 年月日の区切り文字 | ||
+ | * padZero : 月や日が1桁の場合に左側にゼロ埋めをするかどうか(true or false) | ||
+ | |||
+ | ==== YahhoCal.holidays ==== | ||
+ | * [[Google Calendar Holidays|GCalendar Holidays]]を使ってGoogleカレンダーの祝日(または他のスケジュール)を表示する場合の設定をするプロパティ | ||
+ | * 子プロパティとして下記のプロパティがある | ||
+ | * delimiter : 複数のスケジュールを表示する場合の区切り文字 | ||
+ | * prefixes : スケジュールの前に付ける文字列 | ||
+ | |||
+ | ==== YahhoCal.isPopup ==== | ||
+ | * カレンダーをポップアップとして表示するかどうかを設定するプロパティ(true or false) | ||
行 99: | 行 152: | ||
<code javascript> | <code javascript> | ||
/** | /** | ||
- | | + | |
| | ||
- | | + | |
- | | + | |
| | ||
+ | * | ||
+ | | ||
+ | | ||
+ | | ||
*/ | */ | ||
行 110: | 行 167: | ||
| | ||
| | ||
- | | + | |
*/ | */ | ||
YUI_URL: { | YUI_URL: { | ||
SERVER: location.protocol + "// | SERVER: location.protocol + "// | ||
- | VERSION: "2.6.0", | + | VERSION: " |
DIR: "/ | DIR: "/ | ||
}, | }, | ||
- | | + | |
/** カレンダーの見た目の設定 */ | /** カレンダーの見た目の設定 */ | ||
CAL_STYLE: { | CAL_STYLE: { | ||
行 123: | 行 180: | ||
"": | "": | ||
//日曜日 | //日曜日 | ||
- | "td.calcell.wd0 a.selector": " | + | " |
//土曜日 | //土曜日 | ||
- | "td.calcell.wd6 a.selector": " | + | " |
- | // | + | // |
- | "td.calcell.holiday | + | "td.holiday0 |
- | //今日 | + | //今日(デフォルトではa要素の周り1pxに背景色が見えるので黒い枠線になる) |
- | "td.calcell.today a.selector": "", | + | "td.today": |
+ | "td.today a": "", | ||
// | // | ||
- | "td.calcell.selected a.selector": " | + | " |
+ | // | ||
+ | " | ||
}, | }, | ||
| | ||
行 155: | 行 215: | ||
my_label_month_suffix: | my_label_month_suffix: | ||
months_long: | months_long: | ||
- | weekdays_short: | + | weekdays_short: |
- | | + | |
+ | "&# | ||
+ | | ||
}, | }, | ||
- | //中国語 | + | //中国語(繁体字も簡体字も同じ) |
zh: { | zh: { | ||
my_label_year_position: | my_label_year_position: | ||
行 168: | 行 230: | ||
// | // | ||
es: { | es: { | ||
- | months_long: | + | months_long: |
- | " | + | |
+ | " | ||
+ | | ||
weekdays_short: | weekdays_short: | ||
}, | }, | ||
// | // | ||
pt: { | pt: { | ||
- | months_long: | + | months_long: |
- | " | + | |
+ | " | ||
+ | | ||
weekdays_short: | weekdays_short: | ||
} | } | ||
}, | }, | ||
- | | + | |
- | //入力要素をラップするアダプタ | + | //テキストボックスでの日付フォーマット |
- | | + | format: { |
+ | delimiter: "/", | ||
+ | padZero: false // | ||
+ | }, | ||
+ | |||
+ | // | ||
+ | | ||
+ | // | ||
+ | delimiter: " | ||
+ | // | ||
+ | prefixes: ["" | ||
+ | | ||
+ | |||
+ | // | ||
+ | isPopup: true | ||
}; | }; | ||
/** | /** | ||
| | ||
- | | + | |
- | | + | |
- | | + | |
+ | | ||
| | ||
*/ | */ | ||
- | YahhoCal.render = function(inputId, | + | YahhoCal.render = function(inputId, |
- | if (!window.YAHOO || !YAHOO.widget.Calendar) { // | + | if (!window.YAHOO || !YAHOO.widget.Calendar) { // |
return false; | return false; | ||
} | } | ||
- | | + | |
- | | + | this._currentId |
// | // | ||
- | if (!this.adapters[currentId]) { | + | |
- | this.adapters[currentId] = this.createAdapter(inputId, monthId, dateId); | + | |
+ | | ||
+ | this._adapters[insertId] = this._createAdapter(inputId, monthId, dateId); | ||
} | } | ||
- | var adapter = this.adapters[currentId]; | ||
- | var cal = this.cal; | + | var cal = this._cal; |
- | if (cal) { // | + | |
- | YAHOO.util.Dom.insertAfter(this.place, currentId); | + | if (cal) { // |
+ | cal.hide(); | ||
+ | YAHOO.util.Dom.insertBefore(this._place, insertId); | ||
cal.show(); | cal.show(); | ||
} else { // | } else { // | ||
- | this.setStyle(); | + | this._setStyle(); |
- | cal = this.cal = this.createCalendar(currentId); | + | cal = (this._cal = this._createCalendar(insertId)); |
} | } | ||
+ | |||
+ | this._place.focus(); | ||
// | // | ||
- | var val = adapter.getDate(); | + | var val = this._adapters[insertId].getDate(); |
var y = val[0], m = val[1], d = val[2]; | var y = val[0], m = val[1], d = val[2]; | ||
var shown = new Date(y, m - 1, d); | var shown = new Date(y, m - 1, d); | ||
- | // | ||
var pagedate = "", | var pagedate = "", | ||
+ | |||
if ((shown.getFullYear() == y && shown.getMonth() + 1 == m && shown.getDate() == d)) { | if ((shown.getFullYear() == y && shown.getMonth() + 1 == m && shown.getDate() == d)) { | ||
// | // | ||
行 226: | 行 312: | ||
shown = new Date(); | shown = new Date(); | ||
} | } | ||
- | | + | |
- | cal.cfg.setProperty(" | + | |
+ | cal.cfg.setProperty(" | ||
cal.render(); | cal.render(); | ||
- | this.showHolidays(shown); | + | this._showHolidays(shown); |
- | | + | |
+ | | ||
+ | setTimeout(function() { | ||
+ | YAHOO.util.Event.addListener(document, | ||
+ | }, 1); | ||
return true; | return true; | ||
}; | }; | ||
/** | /** | ||
| | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
*/ | */ | ||
- | YahhoCal.createAdapter | + | YahhoCal._createAdapter |
var adapter = {}; | var adapter = {}; | ||
- | if (!monthId) { // | + | if (!monthId) { |
- | var ymd = document.getElementById(inputId); | + | var input = document.getElementById(inputId); |
- | adapter.getDate = function() { return | + | var delimiter = YahhoCal.format.delimiter; |
- | adapter.setDate = function(y, m, d) { ymd.value = y + "/" + m + "/" + d; }; | + | |
+ | adapter.getDate = function() { | ||
+ | if (delimiter) { | ||
+ | | ||
+ | | ||
+ | var val = input.value; | ||
+ | return [val.substr(0, | ||
+ | } | ||
+ | }; | ||
+ | |||
+ | adapter.setDate = function(y, m, d) { | ||
+ | if (YahhoCal.format.padZero) { | ||
+ | m = ("0" + m).slice(-2); | ||
+ | d = ("0" + d).slice(-2); | ||
+ | | ||
+ | |||
+ | input.value = y + delimiter + m + delimiter + d; | ||
+ | }; | ||
return adapter; | return adapter; | ||
} | } | ||
- | | + | |
// | // | ||
var ey = document.getElementById(inputId); | var ey = document.getElementById(inputId); | ||
行 256: | 行 370: | ||
adapter.getDate = function() { return [ey.value, em.value, ed.value]; }; | adapter.getDate = function() { return [ey.value, em.value, ed.value]; }; | ||
adapter.setDate = function(y, m, d) { ey.value = y; em.value = m; ed.value = d; }; | adapter.setDate = function(y, m, d) { ey.value = y; em.value = m; ed.value = d; }; | ||
+ | |||
return adapter; | return adapter; | ||
} | } | ||
- | | + | |
// | // | ||
var getNumber = function(opt) { return (opt.value || opt.text).replace(/ | var getNumber = function(opt) { return (opt.value || opt.text).replace(/ | ||
- | var getValue | + | var get = function(sel) { return getNumber(sel.options[sel.selectedIndex]); |
- | var setValue | + | var set = function(sel, |
- | for (var i = 0; i < sel.length; i++) { | + | for (var i = 0, len = sel.length; i < len; i++) { |
if (getNumber(sel.options[i]) == value) { | if (getNumber(sel.options[i]) == value) { | ||
sel.options[i].selected = true; | sel.options[i].selected = true; | ||
行 270: | 行 385: | ||
} | } | ||
}; | }; | ||
- | | + | |
- | adapter.setDate = function(y, m, d) { setValue(ey, y); setValue(em, m); setValue(ed, d); }; | + | |
+ | adapter.setDate = function(y, m, d) { set(ey, y); set(em, m); set(ed, d); }; | ||
return adapter; | return adapter; | ||
}; | }; | ||
行 277: | 行 394: | ||
| | ||
*/ | */ | ||
- | YahhoCal.setStyle | + | YahhoCal._setStyle |
var css = ""; | var css = ""; | ||
+ | |||
for (var target in this.CAL_STYLE) { | for (var target in this.CAL_STYLE) { | ||
- | css += " | + | css += " |
- | css += " | + | css += " |
} | } | ||
- | | + | |
var tmp = document.createElement(" | var tmp = document.createElement(" | ||
tmp.innerHTML = ' | tmp.innerHTML = ' | ||
行 291: | 行 409: | ||
/** | /** | ||
| | ||
+ | | ||
+ | | ||
*/ | */ | ||
- | YahhoCal.createCalendar | + | YahhoCal._createCalendar |
+ | var yUtil = YAHOO.util, yDom = yUtil.Dom; | ||
//YUI skinを適用 | //YUI skinを適用 | ||
- | | + | |
// | // | ||
- | var place = (this.place = document.createElement(" | + | var place = (this._place |
- | YAHOO.util.Dom.setStyle(place, | + | |
- | YAHOO.util.Dom.setStyle(place, | + | |
- | YAHOO.util.Dom.insertAfter(place, | + | |
- | // | + | |
+ | yDom.setStyle(place, | ||
+ | yDom.setStyle(place, | ||
+ | } | ||
+ | |||
+ | yDom.insertBefore(place, | ||
+ | |||
+ | | ||
var config = this.YUI_CAL_CONFIG[this.locale]; | var config = this.YUI_CAL_CONFIG[this.locale]; | ||
- | config.close = true; | + | config.close = this.isPopup; |
config.hide_blank_weeks = true; | config.hide_blank_weeks = true; | ||
+ | |||
+ | // | ||
var cal = new YAHOO.widget.Calendar(place, | var cal = new YAHOO.widget.Calendar(place, | ||
// | // | ||
- | cal.selectEvent.subscribe(function(eventName, | + | cal.selectEvent.subscribe(function(eventName, |
- | var dateStr = date[0][0]; | + | var date = selectedDate[0][0]; |
- | YahhoCal.adapters[YahhoCal.currentId].setDate(dateStr[0], dateStr[1], dateStr[2]); | + | YahhoCal._adapters[YahhoCal._currentId].setDate(date[0], date[1], date[2]); |
- | cal.hide(); | + | |
- | }, cal, true); | + | |
+ | | ||
+ | } | ||
+ | }); | ||
- | // | + | // |
cal.changePageEvent.subscribe(function() { | cal.changePageEvent.subscribe(function() { | ||
- | YahhoCal.showHolidays(cal.cfg.getProperty(" | + | YahhoCal._showHolidays(cal.cfg.getProperty(" |
- | }, cal, true); | + | }); |
- | | + | |
+ | // | ||
+ | | ||
+ | yUtil.Event.removeListener(document, " | ||
+ | | ||
+ | |||
+ | // | ||
+ | (new yUtil.KeyListener(document, | ||
return cal; | return cal; | ||
}; | }; | ||
/** | /** | ||
- | | + | |
+ | | ||
+ | | ||
*/ | */ | ||
- | YahhoCal.showHolidays | + | YahhoCal._showHolidays |
- | if (!window.GCalHolidays) { //GCalHolidays.jsを読み込んでいない場合 | + | if (!window.GCalHolidays) { |
return; | return; | ||
} | } | ||
+ | |||
+ | // | ||
GCalHolidays.get(this.setHolidays, | GCalHolidays.get(this.setHolidays, | ||
}; | }; | ||
/** | /** | ||
| | ||
+ | | ||
+ | | ||
*/ | */ | ||
- | YahhoCal.setHolidays = function(holidays) { | + | YahhoCal.setHolidays = function(holidays, calIdIndex) { |
if (holidays.length === 0) { | if (holidays.length === 0) { | ||
return; | return; | ||
} | } | ||
+ | |||
+ | var getEBCN = YAHOO.util.Dom.getElementsByClassName; | ||
| | ||
- | //該当年月のままか確認 | + | //取得した年月をまだ表示しているかチェック |
var first = holidays[0]; | var first = holidays[0]; | ||
- | var table = YAHOO.util.Dom.getElementsByClassName(" | + | var table = getEBCN(" |
- | var tbody = YAHOO.util.Dom.getElementsByClassName(" | + | var tbody = getEBCN(" |
if (!table || !tbody) { | if (!table || !tbody) { | ||
return; | return; | ||
} | } | ||
- | //祝日設定 | + | //祝日をツールチップで表示 |
- | | + | var prefix = (YahhoCal.holidays.prefixes[calIdIndex] || "" |
- | var h = holidays[i]; | + | |
- | var td = YAHOO.util.Dom.getElementsByClassName(" | + | for (var i = 0, len = holidays.length; |
- | YAHOO.util.Dom.addClass(td, | + | var td = getEBCN(" |
- | td.title = h.title; | + | YAHOO.util.Dom.addClass(td, |
+ | |||
+ | | ||
+ | td.title += YahhoCal.holidays.delimiter; | ||
+ | } | ||
+ | |||
+ | td.title += prefix + holidays[i].title; | ||
} | } | ||
}; | }; | ||
/** | /** | ||
- | | + | |
- | | + | |
*/ | */ | ||
- | YahhoCal.loadYUI | + | YahhoCal.clickListener |
- | if (!yuiBase) { | + | if (!YahhoCal.isPopup) { |
- | | + | |
} | } | ||
+ | |||
+ | var xy = YAHOO.util.Event.getXY(clickedPoint); | ||
+ | var x = xy[0], y = xy[1]; | ||
+ | var r = YAHOO.util.Dom.getRegion(YahhoCal._cal.containerId); | ||
+ | |||
+ | if (x < r.left || x > r.right || y < r.top || y > r.bottom) { | ||
+ | YahhoCal._cal.hide(); | ||
+ | } | ||
+ | }; | ||
+ | /** | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | */ | ||
+ | YahhoCal.loadYUI = function(yuiBase, | ||
+ | yuiBase = yuiBase || this.YUI_URL.SERVER + this.YUI_URL.VERSION + this.YUI_URL.DIR; | ||
//YUI Loaderをload | //YUI Loaderをload | ||
行 369: | 行 540: | ||
script.src = yuiBase + " | script.src = yuiBase + " | ||
document.getElementsByTagName(" | document.getElementsByTagName(" | ||
- | + | ||
- | //YUI Loaderがloadされるまで待つ | + | |
var limit = 5000, interval = 50, time = 0; | var limit = 5000, interval = 50, time = 0; | ||
- | | + | |
- | if (window.YAHOO) { | + | |
- | clearInterval(loadedId); | + | if (window.YAHOO) { //YUI Loaderがloadされたら |
- | //YUI Calendarをload | + | clearInterval(intervalId); |
- | new YAHOO.util.YUILoader({ base: yuiBase, require: [" | + | |
+ | | ||
+ | | ||
+ | | ||
+ | onSuccess: callback || null | ||
+ | | ||
} else if ((time += interval) > limit) { // | } else if ((time += interval) > limit) { // | ||
- | clearInterval(loadedId); | + | clearInterval(intervalId); |
} | } | ||
}, interval); | }, interval); | ||
行 387: | 行 562: | ||
YahhoCal.setMondayAs1st = function() { | YahhoCal.setMondayAs1st = function() { | ||
this.YUI_CAL_CONFIG[this.locale].start_weekday = 1; | this.YUI_CAL_CONFIG[this.locale].start_weekday = 1; | ||
+ | }; | ||
+ | /** | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | */ | ||
+ | YahhoCal.setMinDate = function(y, m, d) { | ||
+ | var date = m + "/" | ||
+ | |||
+ | if (this._cal) { | ||
+ | this._cal.configMinDate(null, | ||
+ | } else { | ||
+ | this.YUI_CAL_CONFIG[this.locale].mindate = date; | ||
+ | } | ||
+ | }; | ||
+ | /** | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | */ | ||
+ | YahhoCal.setMaxDate = function(y, m, d) { | ||
+ | var date = m + "/" | ||
+ | |||
+ | if (this._cal) { | ||
+ | this._cal.configMaxDate(null, | ||
+ | } else { | ||
+ | this.YUI_CAL_CONFIG[this.locale].maxdate = date; | ||
+ | } | ||
}; | }; | ||
</ | </ | ||
javascript/yahho-calendar.1233756324.txt.gz · 最終更新: 2009/02/04 23:05 by dgbadmin