您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

日期 时间js控件_时间日期

2024/4/11 10:40:10发布14次查看
复制代码 代码如下:
');
//document.write('');
document.write(''onclick=spanhourcevent();> 时');
document.write('' onchange=tiannethour=this.value;tiannetwritehead();document.all.tiannethourhead.style.display=\'\';' +
'this.style.display=\'none\';>');
for(var i=0;i document.writeln('' + i + '时');
}
document.write('');
document.write(''onclick=spanminutecevent();>  分');
document.write('' onchange=tiannetminute=this.value;tiannetwritehead();document.all.tiannetminutehead.style.display=\'\';'+
'this.style.display=\'none\';>');
for(var i=0;i document.writeln('' + i + '分');
}
document.write('');
document.write('
');
//输出一条横线
document.write('
');
document.write('');
document.write('');
document.write(' ');
document.write('');
document.write('');
document.write('
');
//输出一条横线
document.write('
');
document.write('');
document.write(' ');
for(var i =0;i //输出星期
document.write('' + weekname[i] + ' ');
}
document.write('
');
document.write('
');
//输出天的选择
document.write('');
var n = 0;
for (var i=0;idocument.write (' ');
for (var j=0;jdocument.write(''onclick=tiannetday=this.innertext;tiannetsetvalue(true); '
+' style=' + s_tiannet_day + '>  ');
n ++;
}
document.write ('
');
}
document.write (' ');
document.write('+' style=' + s_tiannet_day + '>  ');
document.write('+' style=' + s_tiannet_day + '>  ');
document.write('清空'+
' 关闭' +
' 确定 ' +
' ');
document.write ('
');
document.write('
');
document.write('');
//------------------ end 页面显示部分 ---------------------------//
//------------------ 显示日期时间的span标签响应事件 ---------------------------//
//单击年份span标签响应
function spanyearcevent(){
hideelementsbyid(new array(seltianyear,tiannetmonthhead),false);
if(m_bolshowhour) hideelementsbyid(new array(tiannethourhead),false);
if(m_bolshowminute) hideelementsbyid(new array(tiannetminutehead),false);
hideelementsbyid(new array(tiannetyearhead,seltianmonth,seltianhour,seltianminute),true);
}
//单击月份span标签响应
function spanmonthcevent(){
hideelementsbyid(new array(seltianmonth,tiannetyearhead),false);
if(m_bolshowhour) hideelementsbyid(new array(tiannethourhead),false);
if(m_bolshowminute) hideelementsbyid(new array(tiannetminutehead),false);
hideelementsbyid(new array(tiannetmonthhead,seltianyear,seltianhour,seltianminute),true);
}
//单击小时span标签响应
function spanhourcevent(){
hideelementsbyid(new array(tiannetyearhead,tiannetmonthhead),false);
if(m_bolshowhour) hideelementsbyid(new array(seltianhour),false);
if(m_bolshowminute) hideelementsbyid(new array(tiannetminutehead),false);
hideelementsbyid(new array(tiannethourhead,seltianyear,seltianmonth,seltianminute),true);
}
//单击分钟span标签响应
function spanminutecevent(){
hideelementsbyid(new array(tiannetyearhead,tiannetmonthhead),false);
if(m_bolshowhour) hideelementsbyid(new array(tiannethourhead),false);
if(m_bolshowminute) hideelementsbyid(new array(seltianminute),false);
hideelementsbyid(new array(tiannetminutehead,seltianyear,seltianmonth,seltianhour),true);
}
//根据标签id隐藏或显示标签
function hideelementsbyid(arrid,bolhide){
var strdisplay = ;
if(bolhide) strdisplay = none;
for(var i = 0;i var obj = document.getelementbyid(arrid[i]);
obj.style.display = strdisplay;
}
}
//------------------ end 显示日期时间的span标签响应事件 ---------------------------//
//判断某年是否为闰年
function ispinyear(year){
var bolret = false;
if (0==year%4&&((year%100!=0)||(year%400==0))) {
bolret = true;
}
return bolret;
}
//得到一个月的天数,闰年为29天
function getmonthcount(year,month){
var c=m_amonhead[month-1];
if((month==2)&&ispinyear(year)) c++;
return c;
}
//重新设置当前的日。主要是防止在翻年、翻月时,当前日大于当月的最大日
function setrealdaycount() {
if( tiannetday > getmonthcount(tiannetyear,tiannetmonth) ) {
//如果当前的日大于当月的最大日,则取当月最大日
tiannetday = getmonthcount(tiannetyear,tiannetmonth);
}
}
//在个位数前加零
function addzero(value){
if(value value = 0 + value;
}
return value;
}
//取出空格
function tiannettrim(str) {
return str.replace(/(^\s*)|(\s*$)/g,);
}
//为select创建一个option
function createoption(objselect,value,text){
var option = document.createelement(option);
option.value = value;
option.text = text;
objselect.options.add(option);
}
//往前翻 year
function tiannetprevyear() {
if(tiannetyear > 999 && tiannetyear else{alert(年份超出范围(1000-9999)!);}
tiannetsetday(tiannetyear,tiannetmonth);
//如果年份小于允许的最小年份,则创建对应的option
if( tiannetyear tiannetyearst = tiannetyear;
createoption(document.all.seltianyear,tiannetyear,tiannetyear + 年);
}
checkselect(document.all.seltianyear,tiannetyear);
tiannetwritehead();
}
//往后翻 year
function tiannetnextyear() {
if(tiannetyear > 999 && tiannetyear else{alert(年份超出范围(1000-9999)!);return;}
tiannetsetday(tiannetyear,tiannetmonth);
//如果年份超过允许的最大年份,则创建对应的option
if( tiannetyear > tiannetyearend ) {
tiannetyearend = tiannetyear;
createoption(document.all.seltianyear,tiannetyear,tiannetyear + 年);
}
checkselect(document.all.seltianyear,tiannetyear);
tiannetwritehead();
}
//选择今天
function tiannettoday() {
tiannetyear = tiannetdatenow.getfullyear();
tiannetmonth = tiannetdatenow.getmonth()+1;
tiannetday = tiannetdatenow.getdate();
tiannetsetvalue(true);
//tiannetsetday(tiannetyear,tiannetmonth);
//selectobject();
}
//往前翻月份
function tiannetprevmonth() {
if(tiannetmonth>1){tiannetmonth--}else{tiannetyear--;tiannetmonth=12;}
tiannetsetday(tiannetyear,tiannetmonth);
checkselect(document.all.seltianmonth,tiannetmonth);
tiannetwritehead();
}
//往后翻月份
function tiannetnextmonth() {
if(tiannetmonth==12){tiannetyear++;tiannetmonth=1}else{tiannetmonth++}
tiannetsetday(tiannetyear,tiannetmonth);
checkselect(document.all.seltianmonth,tiannetmonth);
tiannetwritehead();
}
//向span标签中写入年、月、时、分等数据
function tiannetwritehead(){
document.all.tiannetyearhead.innertext = tiannetyear + 年;
document.all.tiannetmonthhead.innertext = tiannetmonth + 月;
if( m_bolshowhour ) document.all.tiannethourhead.innertext = +tiannethour + 时;
if( m_bolshowminute ) document.all.tiannetminutehead.innertext = tiannetminute + 分;
tiannetsetvalue(false);//给文本框赋值,但不隐藏本控件
}
//设置显示天
function tiannetsetday(yy,mm) {
setrealdaycount();//设置当月真实的日
tiannetwritehead();
var strdatefont1 = , strdatefont2 = //处理日期显示的风格
for (var i = 0; i var day1 = 1;
var firstday = new date(yy,mm-1,1).getday(); //某月第一天的星期几
for (var i = firstday; day1 tiannetarrday[i]=day1;day1++;
}
//如果用于显示日的最后一行的第一个单元格的值为空,则隐藏整行。
//if(tiannetarrday[35] == ){
// document.all.trtiannetday5.style.display = none;
//} else {
// document.all.trtiannetday5.style.display = ;
//}
for (var i = 0; i var da = eval(document.all.tdtiannetday+i) //书写新的一个月的日期星期排列
if (tiannetarrday[i]!=) {
//判断是否为周末,如果是周末,则改为红色字体
if(i % 7 == 0 || (i+1) % 7 == 0){
strdatefont1 =
strdatefont2 =
} else {
strdatefont1 = ;
strdatefont2 =
}
da.innerhtml = strdatefont1 + tiannetarrday[i] + strdatefont2;
//如果是当前选择的天,则改变颜色
if(tiannetarrday[i] == tiannetday ) {
da.style.backgroundcolor = #cccccc;
} else {
da.style.backgroundcolor = #efefef;
}
da.style.cursor=hand
} else {
da.innerhtml=;da.style.backgroundcolor=;da.style.cursor=default
}
}//end for
tiannetsetvalue(false);//给文本框赋值,但不隐藏本控件
}//end function tiannetsetday
//根据option的值选中option
function checkselect(objselect,selectvalue) {
var count = parseint(objselect.length);
if( selectvalue selectvalue = selectvalue.substring(1,2);
}
for(var i = 0;i if(objselect.options[i].value == selectvalue){
objselect.selectedindex = i;
break;
}
}//for
}
//选中年、月、时、分等下拉框
function selectobject(){
//如果年份小于允许的最小年份,则创建对应的option
if( tiannetyear for( var i = tiannetyear;i createoption(document.all.seltianyear,i,i + 年);
}
tiannetyearst = tiannetyear;
}
//如果年份超过允许的最大年份,则创建对应的option
if( tiannetyear > tiannetyearend ) {
for( var i = tiannetyearend+1;i createoption(document.all.seltianyear,i,i + 年);
}
tiannetyearend = tiannetyear;
}
checkselect(document.all.seltianyear,tiannetyear);
checkselect(document.all.seltianmonth,tiannetmonth);
if( m_bolshowhour ) checkselect(document.all.seltianhour,tiannethour);
if( m_bolshowminute ) checkselect(document.all.seltianminute,tiannetminute);
}
//给接受日期时间的控件赋值
//参数bolhidecontrol - 是否隐藏控件
function tiannetsetvalue(bolhidecontrol){
var value = ;
if( !tiannetday || tiannetday == ){
tiannetoutobject.value = value;
return;
}
var mm = tiannetmonth;
var day = tiannetday;
if( mm if( day value = tiannetyear + tiannetdatesplit + mm + tiannetdatesplit + day;
if( m_bolshowhour ){
var hour = tiannethour;
if( hour value += tiannetdatetimesplit + hour;
}
if( m_bolshowminute ){
var minute = tiannetminute;
if( minute value += tiannettimesplit + minute;
}
tiannetoutobject.value = value;
//document.all.divtiannetdate.style.display = none;
if( bolhidecontrol ) {
tiannethidecontrol();
}
}
//是否显示时间
function showtime(){
if( !m_bolshowhour && m_bolshowminute){
alert(如果要选择分钟,则必须可以选择小时!);
return;
}
hideelementsbyid(new array(tiannethourhead,seltianhour,tiannetminutehead,seltianminute),true);
if( m_bolshowhour ){
//显示小时
hideelementsbyid(new array(tiannethourhead),false);
}
if( m_bolshowminute ){
//显示分钟
hideelementsbyid(new array(tiannetminutehead),false);
}
}
//弹出显示日历选择控件,以让用户选择
function tiannetpopcalendar(){
//隐藏下拉框,显示相对应的head
hideelementsbyid(new array(seltianyear,seltianmonth,seltianhour,seltianminute),true);
hideelementsbyid(new array(tiannetyearhead,tiannetmonthhead,tiannethourhead,tiannetminutehead),false);
tiannetsetday(tiannetyear,tiannetmonth);
tiannetwritehead();
showtime();
var dads = document.all.divtiannetdate.style;
var ix, iy;
var h = document.all.divtiannetdate.offsetheight;
var w = document.all.divtiannetdate.offsetwidth;
//计算left
if (window.event.x + h > document.body.offsetwidth - 10 )
ix = window.event.x - h - 5 ;
else
ix = window.event.x + 5;
if (ix ix=0;
//计算top
iy = window.event.y;
if (window.event.y + w > document.body.offsetheight - 10 )
iy = document.body.scrolltop + document.body.offsetheight - w - 5 ;
else
iy = document.body.scrolltop +window.event.y + 5;
if (iy iy=0;
dads.left = ix;
dads.top = iy;
tiannetshowcontrol();
selectobject();
}
//隐藏日历控件(同时显示被强制隐藏的标签)
function tiannethidecontrol(){
document.all.divtiannetdate.style.display = none;
tiannetshowobject();
arrtiannethide = new array();//将被隐藏的标签对象清空
}
//显示日历控件(同时隐藏会遮挡的标签)
function tiannetshowcontrol(){
document.all.divtiannetdate.style.display = ;
tiannethideobject(select);
tiannethideobject(object);
}
//根据标签名称隐藏标签。如会遮住控件的select,object
function tiannethideobject(strtagname) {
x = document.all.divtiannetdate.offsetleft;
y = document.all.divtiannetdate.offsettop;
h = document.all.divtiannetdate.offsetheight;
w = document.all.divtiannetdate.offsetwidth;
for (var i = 0; i {
var obj = document.all.tags(strtagname)[i];
if (! obj || ! obj.offsetparent)
continue;
// 获取元素对于body标记的相对坐标
var objleft = obj.offsetleft;
var objtop = obj.offsettop;
var objheight = obj.offsetheight;
var objwidth = obj.offsetwidth;
var objparent = obj.offsetparent;
while (objparent.tagname.touppercase() != body){
objleft += objparent.offsetleft;
objtop += objparent.offsettop;
objparent = objparent.offsetparent;
}
//alert(控件左端: + x + select左端 + (objleft + objwidth) + 控件底部: + (y+h) + select高: + objtop);
var bolhide = true;
if( obj.style.display == none || obj.style.visibility == hidden || obj.getattribute(author) == tiannet ){
//如果标签本身就是隐藏的,则不需要再隐藏。如果是控件中的下拉框,也不用隐藏。
bolhide = false;
}
if( ( (objleft + objwidth) > x && (y + h + 20) > objtop && (objtop+objheight) > y && objleft //arrtiannethide.push(obj);//记录被隐藏的标签对象
arrtiannethide[arrtiannethide.length] = obj;
obj.style.visibility = hidden;
}
}
}
//显示被隐藏的标签
function tiannetshowobject(){
for(var i = 0;i //alert(arrtiannethide[i]);
arrtiannethide[i].style.visibility = ;
}
}
//初始化日期。
function tiannetinitdate(strdate){
var arr = strdate.split(tiannetdatesplit);
tiannetyear = arr[0];
tiannetmonth = arr[1];
tiannetday = arr[2];
}
//清空
function tiannetclear(){
tiannetoutobject.value = ;
tiannethidecontrol();
}
//任意点击时关闭该控件
function document.onclick(){
with(window.event.srcelement){
if (tagname != input && getattribute(author) != tiannet)
tiannethidecontrol();
}
}
//按esc键关闭该控件
function document.onkeypress(){
if( event.keycode == 27 ){
tiannethidecontrol();
}
}
(1)只选择日期
(2)选择日期和小时
(3)选择日期和小时及分钟
金额汇总
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product