timepicker.js
来自「Hippo CMS是一个以信息为中心的开源内容管理系统。Hippo CMS目标是」· JavaScript 代码 · 共 279 行 · 第 1/2 页
JS
279 行
this.onClearSelectedAnyTime();
this.onClearSelectedMinute();
this.setSelectedMinute(evt);
this.selectedTime.anyTime = false;
this.onSetTime();
}, setSelectedMinute:function (evt) {
if (evt && evt.target) {
if (evt.target.nodeType == dojo.dom.ELEMENT_NODE) {
var eventTarget = evt.target;
} else {
var eventTarget = evt.target.parentNode;
}
dojo.event.browser.stopEvent(evt);
dojo.html.setClass(eventTarget, this.classNames.selectedTime);
this.selectedTime["minute"] = eventTarget.innerHTML;
} else {
if (!isNaN(evt)) {
var minuteNodes = this.minuteContainerNode.getElementsByTagName("td");
if (minuteNodes.item(evt)) {
dojo.html.setClass(minuteNodes.item(evt), this.classNames.selectedTime);
this.selectedTime["minute"] = minuteNodes.item(evt).innerHTML;
}
}
}
}, onSetSelectedAmPm:function (evt) {
this.onClearSelectedAnyTime();
this.onClearSelectedAmPm();
this.setSelectedAmPm(evt);
this.selectedTime.anyTime = false;
this.onSetTime();
}, setSelectedAmPm:function (evt) {
var eventTarget = evt.target;
if (evt && eventTarget) {
if (eventTarget.nodeType != dojo.dom.ELEMENT_NODE) {
eventTarget = eventTarget.parentNode;
}
dojo.event.browser.stopEvent(evt);
this.selectedTime.amPm = eventTarget.id;
dojo.html.setClass(eventTarget, this.classNames.selectedTime);
} else {
evt = evt ? 0 : 1;
var amPmNodes = this.amPmContainerNode.getElementsByTagName("td");
if (amPmNodes.item(evt)) {
this.selectedTime.amPm = amPmNodes.item(evt).id;
dojo.html.setClass(amPmNodes.item(evt), this.classNames.selectedTime);
}
}
}, onSetSelectedAnyTime:function (evt) {
this.onClearSelectedHour();
this.onClearSelectedMinute();
this.onClearSelectedAmPm();
this.setSelectedAnyTime();
this.onSetTime();
}, setSelectedAnyTime:function (evt) {
this.selectedTime.anyTime = true;
dojo.html.setClass(this.anyTimeContainerNode, this.classNames.selectedTime + " " + "anyTimeContainer");
}, onClick:function (evt) {
dojo.event.browser.stopEvent(evt);
}, onSetTime:function () {
if (this.selectedTime.anyTime) {
this.time = new Date();
var tempDateTime = dojo.widget.TimePicker.util.toRfcDateTime(this.time);
this.setDateTime(tempDateTime.split("T")[0]);
} else {
var hour = 12;
var minute = 0;
var isAm = false;
if (this.selectedTime["hour"]) {
hour = parseInt(this.selectedTime["hour"], 10);
}
if (this.selectedTime["minute"]) {
minute = parseInt(this.selectedTime["minute"], 10);
}
if (this.selectedTime["amPm"]) {
isAm = (this.selectedTime["amPm"].toLowerCase() == "am");
}
this.time = new Date();
this.time.setHours(dojo.widget.TimePicker.util.fromAmPmHour(hour, isAm));
this.time.setMinutes(minute);
this.setDateTime(dojo.widget.TimePicker.util.toRfcDateTime(this.time));
}
this.onValueChanged(this.time);
}, onValueChanged:function (date) {
}});
dojo.widget.TimePicker.util = new function () {
this.toRfcDateTime = function (jsDate) {
if (!jsDate) {
jsDate = new Date();
}
jsDate.setSeconds(0);
return dojo.date.strftime(jsDate, "%Y-%m-%dT%H:%M:00%z");
};
this.fromRfcDateTime = function (rfcDate, useDefaultMinutes, isAnyTime) {
var tempDate = new Date();
if (!rfcDate || rfcDate.indexOf("T") == -1) {
if (useDefaultMinutes) {
tempDate.setMinutes(Math.floor(tempDate.getMinutes() / 5) * 5);
} else {
tempDate.setMinutes(0);
}
} else {
var tempTime = rfcDate.split("T")[1].split(":");
var tempDate = new Date();
tempDate.setHours(tempTime[0]);
tempDate.setMinutes(tempTime[1]);
}
return tempDate;
};
this.toAmPmHour = function (hour) {
var amPmHour = hour;
var isAm = true;
if (amPmHour == 0) {
amPmHour = 12;
} else {
if (amPmHour > 12) {
amPmHour = amPmHour - 12;
isAm = false;
} else {
if (amPmHour == 12) {
isAm = false;
}
}
}
return [amPmHour, isAm];
};
this.fromAmPmHour = function (amPmHour, isAm) {
var hour = parseInt(amPmHour, 10);
if (isAm && hour == 12) {
hour = 0;
} else {
if (!isAm && hour < 12) {
hour = hour + 12;
}
}
return hour;
};
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?