随笔-40  评论-66  文章-0  trackbacks-0
自己在网上找了半天没找到只有 “时分秒”的控件, 就自己做了个,发在这里方便有人用到


鼠标点击 后 的效果


SetTime.js

/**//***********************************
* 简单时间控件: version 1.0
* 作者:李禄燊 
* 时间:2007-10-31

* 使用说明:
* 首先把本控件包含到页面 
* <script src="XXX/setTime.js" type="text/javascript"></script>
* 控件调用函数:_SetTime(field)
* 例如 <input name="time" type="text"   onclick="_SetTime(this)"/>
*
***********************************
*/
var str = "";
document.writeln(
"<div id=\"_contents\" style=\"padding:6px; background-color:#E3E3E3; font-size: 12px; border: 1px solid #777777;  position:absolute; left:?px; top:?px; width:?px; height:?px; z-index:1; visibility:hidden\">");
str 
+= "\u65f6<select name=\"_hour\">";
for (h = 0; h <= 9; h++) {
    str 
+= "<option value=\"0" + h + "\">0" + h + "</option>";
}
for (h = 10; h <= 23; h++) {
    str 
+= "<option value=\"" + h + "\">" + h + "</option>";
}
str 
+= "</select> \u5206<select name=\"_minute\">";
for (m = 0; m <= 9; m++) {
    str 
+= "<option value=\"0" + m + "\">0" + m + "</option>";
}
for (m = 10; m <= 59; m++) {
    str 
+= "<option value=\"" + m + "\">" + m + "</option>";
}
str 
+= "</select> \u79d2<select name=\"_second\">";
for (s = 0; s <= 9; s++) {
    str 
+= "<option value=\"0" + s + "\">0" + s + "</option>";
}
for (s = 10; s <= 59; s++) {
    str 
+= "<option value=\"" + s + "\">" + s + "</option>";
}
str 
+= "</select> <input name=\"queding\" type=\"button\" onclick=\"_select()\" value=\"\u786e\u5b9a\" style=\"font-size:12px\" /></div>";
document.writeln(str);
var _fieldname;
function _SetTime(tt) {
    _fieldname 
= tt;
    
var ttop = tt.offsetTop;    //TT控件的定位点高
    var thei = tt.clientHeight;    //TT控件本身的高
    var tleft = tt.offsetLeft;    //TT控件的定位点宽
    while (tt = tt.offsetParent) {
        ttop 
+= tt.offsetTop;
        tleft 
+= tt.offsetLeft;
    }
    document.all._contents.style.top 
= ttop + thei + 4;
    document.all._contents.style.left 
= tleft;
    document.all._contents.style.visibility 
= "visible";
}
function _select() {
    _fieldname.value 
= document.all._hour.value + ":" + document.all._minute.value + ":" + document.all._second.value;
    document.all._contents.style.visibility 
= "hidden";
}




posted on 2007-11-01 15:33 Super·shen BLOG 阅读(11093) 评论(13)  编辑  收藏 所属分类: 工作

评论:
# re: 刚刚做的一个 JS简单时间控件【JS时分秒时间控件】 2007-11-09 16:49 | Logan
谢谢,找这样一个时间输入控件很久了。  回复  更多评论
  
# re: 2007-11-09 17:12 | Logan
但是好象和一个JS的Calendar冲突,如果可以的话帮忙看下,谢谢。
http://www.sendspace.com/file/7a3vif  回复  更多评论
  
# 有点问题 2008-09-04 18:09 | ella
您的控件如果遇到有背景的就直接看不到了呀
  回复  更多评论
  
# re: 刚刚做的一个 JS简单时间控件【JS时分秒时间控件】[未登录] 2008-09-22 10:34 | jxva
帮你修改成通用于其它浏览器的了,建议最好封装成js类


/**//***********************************
* 简单时间控件: version 1.0
* 作者:李禄燊
* 时间:2007-10-31
*
* 使用说明:
* 首先把本控件包含到页面
* <script src="XXX/setTime.js" type="text/javascript"></script>
* 控件调用函数:_SetTime(field)
* 例如 <input name="time" type="text" onclick="_SetTime(this)"/>
*
************************************/
var str = "";
document.writeln("<div id=\"_contents\" style=\"padding:6px; background-color:#E3E3E3; font-size: 12px; border: 1px solid #777777; position:absolute; left:?px; top:?px; width:?px; height:?px; z-index:1; visibility:hidden\">");
str += "\u65f6<select id=\"_hour\">";
for (h = 0; h <= 9; h++) {
str += "<option value=\"0" + h + "\">0" + h + "</option>";
}
for (h = 10; h <= 23; h++) {
str += "<option value=\"" + h + "\">" + h + "</option>";
}
str += "</select> \u5206<select id=\"_minute\">";
for (m = 0; m <= 9; m++) {
str += "<option value=\"0" + m + "\">0" + m + "</option>";
}
for (m = 10; m <= 59; m++) {
str += "<option value=\"" + m + "\">" + m + "</option>";
}
str += "</select> \u79d2<select id=\"_second\">";
for (s = 0; s <= 9; s++) {
str += "<option value=\"0" + s + "\">0" + s + "</option>";
}
for (s = 10; s <= 59; s++) {
str += "<option value=\"" + s + "\">" + s + "</option>";
}
str += "</select> <input name=\"queding\" type=\"button\" onclick=\"_select()\" value=\"\u786e\u5b9a\" style=\"font-size:12px\" /></div>";
document.writeln(str);
var _fieldname;
function _SetTime(tt) {
_fieldname = tt;
var ttop = tt.offsetTop; //TT控件的定位点高
var thei = tt.clientHeight; //TT控件本身的高
var tleft = tt.offsetLeft; //TT控件的定位点宽
while (tt = tt.offsetParent) {
ttop += tt.offsetTop;
tleft += tt.offsetLeft;
}
document.getElementById("_contents").style.top = (ttop + thei + 4)+"px";
document.getElementById("_contents").style.left = tleft+"px";
document.getElementById("_contents").style.visibility = "visible";
}
function _select() {
_fieldname.value = document.getElementById("_hour").value + ":" + document.getElementById("_minute").value + ":" + document.getElementById("_second").value;
document.getElementById("_contents").style.visibility = "hidden";
}  回复  更多评论
  
# re: 刚刚做的一个 JS简单时间控件【JS时分秒时间控件】 2009-10-12 13:58 | ruby
很好用,谢谢.  回复  更多评论
  
# re: 刚刚做的一个 JS简单时间控件【JS时分秒时间控件】[未登录] 2010-09-19 16:30 | java
@jxva
分方法  回复  更多评论
  
# re: 刚刚做的一个 JS简单时间控件【JS时分秒时间控件】[未登录] 2011-08-12 09:14 | Tony
很好,谢谢!!!  回复  更多评论
  
# re: 刚刚做的一个 JS简单时间控件【JS时分秒时间控件】 2011-08-28 12:31 | mj
@jxva
你改的很好!  回复  更多评论
  
# re: 刚刚做的一个 JS简单时间控件【JS时分秒时间控件】[未登录] 2012-03-02 15:02 | maomao
帮大忙了,谢谢你的共享~~  回复  更多评论
  
# re: 刚刚做的一个 JS简单时间控件【JS时分秒时间控件】 2012-04-18 11:17 | alen
鼠标离开是怎么消失呢??求教啊  回复  更多评论
  
# re: 刚刚做的一个 JS简单时间控件【JS时分秒时间控件】 2012-05-15 17:36 | wuhb
@alen
<input name=\"queding\" type=\"button\" onclick=\"_select()\" value=\"\u786e\u5b9a\" style=\"font-size:12px\" /><input name=\"quxiao\" type=\"button\" onclick=\"_deselect()\" value=\"\u53d6\u6d88\" style=\"font-size:12px\" />





function _deselect() {
document.getElementById("_contents").style.visibility = "hidden";
}  回复  更多评论
  
# re: 刚刚做的一个 JS简单时间控件【JS时分秒时间控件】 2014-05-03 11:27 | zuidaima
也可以参考代码:js可选择时分秒的日历时间控件代码下载,多浏览器IE8,9,10、谷歌chrome,火狐firefox等都是兼容的 下载地址:http://www.zuidaima.com/share/1782678579956736.htm  回复  更多评论
  
# re: 刚刚做的一个 JS简单时间控件【JS时分秒时间控件】[未登录] 2014-08-21 17:09 | 风随心
谢了。  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: