查看: 7272|回复: 0
打印 上一主题 下一主题

js极酷时间和日历 cool

[复制链接]
跳转到指定楼层
1#
发表于 2007-9-11 23:34:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
<style type="text/css">  
body {  
        background-color: #D4D0C8;  
}  
.m_fieldset {  
        padding: 0,10,5,10;  
        text-align: center;  
        width: 150px;  
}  
.m_legend {  
        font-family: Tahoma;  
        font-size: 11px;  
        padding-bottom: 5px;  
}  
.m_frameborder {  
        border-left: 2px inset #D4D0C8;  
        border-top: 2px inset #D4D0C8;  
        border-right: 2px inset #FFFFFF;  
        border-bottom: 2px inset #FFFFFF;  
        width: 100px;  
        height: 19px;  
        background-color: #FFFFFF;  
        overflow: hidden;  
        text-align: right;  
        font-family: "Tahoma";  
        font-size: 10px;  
}  
.m_arrow {  
        width: 16px;  
        height: 8px;  
        font-family: "Webdings";  
        font-size: 7px;  
        line-height: 2px;  
        padding-left: 2px;  
        cursor: default;  
}  
.m_input {  
        width: 18px;  
        height: 14px;  
        border: 0px solid black;  
        font-family: "Tahoma";  
        font-size: 9px;  
        text-align: right;  
        ime-mode:disabled;  
}  
</style>  

<script language="javascript">  
//        Written by cloudchen, 2004/03/15  
function minute(name,fName)  
{  
        this.name = name;  
        this.fName = fName || "m_input";  
        this.timer = null;  
        this.fObj = null;  
         
        this.toString = function()  
        {  
                var objDate = new Date();  
                var sMinute_Common = "class=\"m_input\" maxlength=\"2\" name=\""+this.fName+"\" onfocus=\""+this.name+".setFocusObj(this)\" onblur=\""+this.name+".setTime(this)\" onkeyup=\""+this.name+".prevent(this)\" onkeypress=\"if (!/[0-9]/.test(String.fromCharCode(event.keyCode)))event.keyCode=0\" onpaste=\"return false\" ondragenter=\"return false\"";  
                var sButton_Common = "class=\"m_arrow\" onfocus=\"this.blur()\" onmouseup=\""+this.name+".controlTime()\" disabled"  
                var str = "";  
                str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"  
                str += "<tr>"  
                str += "<td>"  
                str += "<div class=\"m_frameborder\">"  
                str += "<input radix=\"24\" value=\""+this.formatTime(objDate.getHours())+"\" "+sMinute_Common+">:"  
                str += "<input radix=\"60\" value=\""+this.formatTime(objDate.getMinutes())+"\" "+sMinute_Common+">:"  
                str += "<input radix=\"60\" value=\""+this.formatTime(objDate.getSeconds())+"\" "+sMinute_Common+">"  
                str += "</div>"  
                str += "</td>"  
                str += "<td>"  
                str += "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">"  
                str += "<tr><td><button id=\""+this.fName+"_up\" "+sButton_Common+">5</button></td></tr>"  
                str += "<tr><td><button id=\""+this.fName+"_down\" "+sButton_Common+">6</button></td></tr>"  
                str += "</table>"  
                str += "</td>"  
                str += "</tr>"  
                str += "</table>"  
                return str;  
        }  
        this.play = function()  
        {  
                this.timer = setInterval(this.name+".playback()",1000);  
        }  
        this.formatTime = function(sTime)  
        {  
                sTime = ("0"+sTime);  
                return sTime.substr(sTime.length-2);  
        }  
        this.playback = function()  
        {  
                var objDate = new Date();  
                var arrDate = [objDate.getHours(),objDate.getMinutes(),objDate.getSeconds()];  
                var objMinute = document.getElementsByName(this.fName);  
                for (var i=0;i<objMinute.length;i++)  
                {  
                        objMinute.value = this.formatTime(arrDate)  
                }  
        }  
        this.prevent = function(obj)  
        {  
                clearInterval(this.timer);  
                this.setFocusObj(obj);  
                var value = parseInt(obj.value,10);  
                var radix = parseInt(obj.radix,10)-1;  
                if (obj.value>radix||obj.value<0)  
                {  
                        obj.value = obj.value.substr(0,1);  
                }  
        }  
        this.controlTime = function(cmd)  
        {  
                event.cancelBubble = true;  
                if (!this.fObj) return;  
                clearInterval(this.timer);  
                var cmd = event.srcElement.innerText=="5"?true:false;  
                var i = parseInt(this.fObj.value,10);  
                var radix = parseInt(this.fObj.radix,10)-1;  
                if (i==radix&&cmd)  
                {  
                        i = 0;  
                }  
                else if (i==0&&!cmd)  
                {  
                        i = radix;  
                }  
                else  
                {  
                        cmd?i++:i--;  
                }  
                this.fObj.value = this.formatTime(i);  
                this.fObj.select();  
        }  
        this.setTime = function(obj)  
        {  
                obj.value = this.formatTime(obj.value);  
        }  
        this.setFocusObj = function(obj)  
        {  
                eval(this.fName+"_up").disabled = eval(this.fName+"_down").disabled = false;  
                this.fObj = obj;  
        }  
        this.getTime = function()  
        {  
                var arrTime = new Array(2);  
                for (var i=0;i<document.getElementsByName(this.fName).length;i++)  
                {  
                        arrTime = document.getElementsByName(this.fName).value;  
                }  
                return arrTime.join(":");  
        }  
}  
</script>  


<style type="text/css">  
body {  
        background-color: #D4D0C8;  
}  
.c_fieldset {  
        padding: 0,10,5,10;  
        text-align: center;  
        width: 180px;  
}  
.c_legend {  
        font-family: Tahoma;  
        font-size: 11px;  
        padding-bottom: 5px;  
}  
.c_frameborder {  
        border-left: 2px inset #D4D0C8;  
        border-top: 2px inset #D4D0C8;  
        border-right: 2px inset #FFFFFF;  
        border-bottom: 2px inset #FFFFFF;  
        background-color: #FFFFFF;  
        overflow: hidden;  
        font-family: "Tahoma";  
        font-size: 10px;  
        width:160px;  
        height:120px;  
}  
.c_frameborder td {  
        width: 23px;  
        height: 16px;  
        font-family: "Tahoma";  
        font-size: 11px;  
        text-align: center;  
        cursor: default;  
}  
.c_frameborder .selected {  
        background-color:#0A246A;  
        width:12px;  
        height:12px;  
        color:white;  
}  
.c_frameborder span {  
        width:12px;  
        height:12px;  
}  
.c_arrow {  
        width: 16px;  
        height: 8px;  
        font-family: "Webdings";  
        font-size: 7px;  
        line-height: 2px;  
        padding-left: 2px;  
        cursor: default;  
}  
.c_year {  
        font-family: "Tahoma";  
        font-size: 11px;  
        cursor: default;  
        width:55px;  
        height:19px;  
}  
.c_month {  
        width:75px;  
        height:20px;  
        font:11px "Tahoma";  
}  
.c_dateHead {  
        background-color:#808080;  
        color:#D4D0C8;  
}  
</style>  

<script language="javascript">  
//        Written by cloudchen, 2004/03/16  
function calendar(name,fName)  
{  
        this.name = name;  
        this.fName = fName || "calendar";  
        this.year = new Date().getFullYear();  
        this.month = new Date().getMonth();  
        this.date = new Date().getDate();  
        //private  
        this.toString = function()  
        {  
                var str = "";  
                str += "<table border=\"0\" cellspacing=\"3\" cellpadding=\"0\" onselectstart=\"return false\">";  
                str += "<tr>";  
                str += "<td>";  
                str += this.drawMonth();  
                str += "</td>";  
                str += "<td align=\"right\">";  
                str += this.drawYear();  
                str += "</td>";  
                str += "</tr>";  
                str += "<tr>";  
                str += "<td colspan=\"2\">";  
                str += "<div class=\"c_frameborder\">";  
                str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"c_dateHead\">";  
                str += "<tr>";  
                str += "<td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td>";  
                str += "</tr>";  
                str += "</table>";  
                str += this.drawDate();  
                str += "</div>";  
                str += "</td>";  
                str += "</tr>";  
                str += "</table>";  
                return str;  
        }  
        //private  
        this.drawYear = function()  
        {  
                var str = "";  
                str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";  
                str += "<tr>";  
                str += "<td>";  
                str += "<input class=\"c_year\" maxlength=\"4\" value=\""+this.year+"\" name=\""+this.fName+"\" id=\""+this.fName+"_year\" readonly>";  
                //DateField  
                str += "<input type=\"hidden\" name=\""+this.fName+"\" value=\""+this.date+"\" id=\""+this.fName+"_date\">";  
                str += "</td>";  
                str += "<td>";  
                str += "<table cellspacing=\"2\" cellpadding=\"0\" border=\"0\">";  
                str += "<tr>";  
                str += "<td><button class=\"c_arrow\" onfocus=\"this.blur()\" onclick=\"event.cancelBubble=true;document.getElementById('"+this.fName+"_year').value++;"+this.name+".redrawDate()\">5</button></td>";  
                str += "</tr>";  
                str += "<tr>";  
                str += "<td><button class=\"c_arrow\" onfocus=\"this.blur()\" onclick=\"event.cancelBubble=true;document.getElementById('"+this.fName+"_year').value--;"+this.name+".redrawDate()\">6</button></td>";  
                str += "</tr>";  
                str += "</table>";  
                str += "</td>";  
                str += "</tr>";  
                str += "</table>";  
                return str;  
        }  
        //priavate  
        this.drawMonth = function()  
        {  
                var aMonthName = ["一","二","三","四","五","六","七","八","九","十","十一","十二"];  
                var str = "";  
                str += "<select class=\"c_month\" name=\""+this.fName+"\" id=\""+this.fName+"_month\" onchange=\""+this.name+".redrawDate()\">";  
                for (var i=0;i<aMonthName.length;i++) {  
                        str += "<option value=\""+(i+1)+"\" "+(i==this.month?"selected":"")+">"+aMonthName+"月</option>";  
                }  
                str += "</select>";  
                return str;  
        }  
        //private  
        this.drawDate = function()  
        {  
                var str = "";  
                var fDay = new Date(this.year,this.month,1).getDay();  
                var fDate = 1-fDay;  
                var lDay = new Date(this.year,this.month+1,0).getDay();  
                var lDate = new Date(this.year,this.month+1,0).getDate();  
                str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" id=\""+this.fName+"_dateTable"+"\">";  
                for (var i=1,j=fDate;i<7;i++)  
                {  
                        str += "<tr>";  
                        for (var k=0;k<7;k++)  
                        {  
                                str += "<td><span"+(j==this.date?" class=\"selected\"":"")+" onclick=\""+this.name+".redrawDate(this.innerText)\">"+(isDate(j++))+"</span></td>";  
                        }  
                        str += "</tr>";  
                }  
                str += "</table>";  
                return str;  

                function isDate(n)  
                {  
                        return (n>=1&&n<=lDate)?n:"";  
                }  
        }  
        //public  
        this.redrawDate = function(d)  
        {  
                this.year = document.getElementById(this.fName+"_year").value;  
                this.month = document.getElementById(this.fName+"_month").value-1;  
                this.date = d || this.date;  
                document.getElementById(this.fName+"_year").value = this.year;  
                document.getElementById(this.fName+"_month").selectedIndex = this.month;  
                document.getElementById(this.fName+"_date").value = this.date;  
                if (this.date>new Date(this.year,this.month+1,0).getDate()) this.date = new Date(this.year,this.month+1,0).getDate();  
                document.getElementById(this.fName+"_dateTable").outerHTML = this.drawDate();  
        }  
        //public  
        this.getDate = function(delimiter)  
        {  
                if (!delimiter) delimiter = "/";  
                var aValue = [this.year,(this.month+1),this.date];  
                return aValue.join(delimiter);  
        }  
}  
</script>  
<table border="0">  
<tr><td>  
<fieldset class="c_fieldset"><legend class="c_legend">日期(T)</legend>  
<!-- 调用日历 -->  
<script>  
var c = new calendar("c");  
document.write(c);  
</script>  
<!-- 调用日历 -->  
</fieldset>  
</td>  
<td valign="top">  
<fieldset class="m_fieldset"><legend class="m_legend">时间(T)</legend>  
<!-- 调用时间钟 -->  
<script>  
var m = new minute("m");  
m.play();  
document.write(m);  
</script>  
<!-- 调用时间钟 -->  
</fieldset>  
</td></tr>  
<tr>  
<td colspan="2">  
<button onclick="alert(c.getDate())" style="font:8px Webdings;width:15px;height:15px;line-height:6px;">4</button>  
<button style="font:10px Arial;height:15px;height:16px;border:0px;" onfocus="this.blur()">GetDate</button>  

<button onclick="alert(m.getTime())" style="font:8px Webdings;width:15px;height:15px;line-height:6px;">4</button>  
<button style="font:10px Arial;height:15px;height:16px;border:0px;" onfocus="this.blur()">GetTime</button>  
</td>  
</tr>  
</table>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表