function showTimepicker() { if (_timepicker ==null) initialTimepicker(); if (!_timepickerShowing) { getTime(); setPosition(this); _timepicker.fadeIn("fast"); _timepickerShowing =true; return; } }
function hideTimepicker() { if (_timepickerShowing) { _timepicker.fadeOut("fast"); _timepickerShowing =false; return; } }
// Set position of timepicker(设定弹出div的位置) function setPosition(input) { var _inputPosition = $(input).offset(); _timepickerPosition = [_inputPosition.left, _inputPosition.top + input.offsetHeight]; if ($.browser.opera) { // correction for Opera when scrolled _timepickerPosition[0] -= document.documentElement.scrollLeft; _timepickerPosition[1] -= document.documentElement.scrollTop; } _timepicker.css({ 'left': _timepickerPosition[0] +'px', 'top': _timepickerPosition[1] +'px' }); }
function doKeyDown(e) { var handled =true; if (_timepickerShowing) { switch (e.keyCode) { // Tab key case9: getTime(); hideTimepicker(); break; // ESC key case27: hideTimepicker(); break; } } else { handled =false; } if (handled) { e.preventDefault(); e.stopPropagation(); } }
function doClear() { // Clear time in the ``_input`` _input.val(""); hideTimepicker(); return; }
function getTime() { // 赋值 var time = padLeft($("#"+_ddlhour).val()) +':'+ padLeft($("#"+_ddlminute).val()); _input.val(time); return time; }
function checkExternalClick(e) { if (!_timepickerShowing) return; var target = $(e.target); if ((target.parents('#'+ _mainWrap).length ==0) && !target.hasClass(_inputClass) && !target.hasClass(_mainClass)) hideTimepicker(); }
};
function padLeft(val) { if (val.toString().length >=2) return String(val); return padLeft("0"+ val); }