生活随笔
收集整理的這篇文章主要介紹了
jquery 简单日历
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
今天試著用jquery 寫(xiě)了一個(gè)日歷,等有時(shí)間研究一下別人寫(xiě)的思路,上代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
* { margin:0; padding:0;}
.red { color:red;}
.date { cursor:pointer;}
.today { background:#F90; font-weight:bold;cursor:pointer;}
#calendar { width:260px; margin:50px auto; }
#date{ text-align:center; border:1px #ccc solid; border-bottom:0;}
#date a { display:inline-block; width:18px; height:20px; background-position:center -20px; vertical-align:middle; cursor:pointer;}
#date #selectDate{ width:120px;display:inline-block;}
#preYear { background:url(http://d.hiphotos.baidu.com/album/s%3D900%3Bq%3D90/sign=ad9b3be5fdfaaf5180e38dbfbc6fe5d3/728da9773912b31bd3d15eea8618367adbb4e1b0.jpg);}
#preMonth { background:url(http://f.hiphotos.baidu.com/album/s%3D900%3Bq%3D90/sign=f73776510cf431adb8d24f397b0ddd92/43a7d933c895d143e8cb77e073f082025baf07b7.jpg);}
#nextMonth { background:url(http://g.hiphotos.baidu.com/album/s%3D900%3Bq%3D90/sign=f0feb6cb5343fbf2c12caa238045bbbd/80cb39dbb6fd5266e6b4afd7ab18972bd5073651.jpg);}
#nextYear { background:url(http://d.hiphotos.baidu.com/album/s%3D900%3Bq%3D90/sign=09074fa3352ac65c63056a73cbc9c32c/ac6eddc451da81cb0a5b100e5266d016082431b7.jpg);}
#calTable { width:100%; border-collapse:collapse;}
#calTable th,#calTable td{ width:30px; height:20px; border:1px #ccc solid; text-align:center;}
#calTable tbody{ font-family:Georgia, "Times New Roman", Times, serif;}
.c_yellow { background-color:#FFFF33}
</style><script src="../myweb/js/jquery-1.8.0.js"></script>
<script>
jQuery(function($){function showTm(beginyear,endyear,selyear,selectMonth,timetb,mousecls){this.beginyear=beginyear, //開(kāi)始年份this.endyear=endyear, //結(jié)束年份this.selyear=selyear, //選擇年份select的idthis.selectMonth=selectMonth, //選擇月份select的idthis.timetb=timetb, // 日期表格 this.mousecls=mousecls //鼠標(biāo)滑過(guò)的樣式切換類(lèi)名}showTm.prototype.changeTm = function(){var _self=this;//填充年份var minyear=Math.min(_self.endyear,_self.beginyear);if(minyear<1970){alert("您輸入的開(kāi)始年份需要大于1970年!");return false;}var len=Math.abs(_self.endyear - _self.beginyear);for(var i=0;i<(len+1);i++){$("#"+_self.selyear)[0].options[i]=new Option(minyear+i); } //初始化今天日期,高亮顯示今天日期nowtoday()function nowtoday(){var now=new Date();var nowyear=now.getFullYear();var nowmonth=now.getMonth();var nowday=now.getDay();$("#"+_self.selyear).val(nowyear);$("#"+_self.selectMonth).val(nowmonth); } //填充時(shí)間tablechangeTmnow();$("#"+_self.selyear).change(changeTmnow);$("#"+_self.selectMonth).change(changeTmnow);function changeTmnow(){ var daycont; //每月的天數(shù)var yearval=parseInt( $("#"+_self.selyear).val() );var monval=parseInt( $("#"+_self.selectMonth).val() ); //確定每個(gè)月的天數(shù)if($.inArray(monval,[1,3,5,7,8,10,12])>-1){ //判斷之前需要轉(zhuǎn)換數(shù)據(jù)類(lèi)型daycont = 31; }else if(monval!=2){daycont = 30;}else{daycont=(yearval%400==0)?29:28; //判斷是否是閏年};//清空之前的日期$("#"+_self.timetb+" tbody td").empty(); //填充新的日期var firsday=new Date(yearval,monval-1,1)var firstdate=firsday.getDay(); //確定每月的第一天 填充那個(gè)格子for(var i=0;i<daycont;i++){$("#"+_self.timetb+" tbody td").eq(firstdate+i).text(i+1)} //高亮顯示今天outup();function outup(){$("#"+_self.timetb+" tbody td").css({"color":"#333"})var now=new Date();var nowyear=now.getFullYear();var nowmonth=now.getMonth();var nowdate=now.getDate();if(yearval==nowyear && nowmonth==(monval-1)){$("#"+_self.timetb+" tbody td").eq(nowdate-1+firstdate).css({"color":"red"})}}//添加鼠標(biāo)滑過(guò)效果$("#"+_self.timetb+" tbody td").hover(function(){$(this).toggleClass(_self.mousecls)})} //end changeTmnow()} //end changeTm()//函數(shù)的調(diào)用var showTm1=new showTm(1975,2550,"selectYear","selectMonth","calTable","c_yellow");showTm1.changeTm();})</script>
</head><body>
<div id="calendar"><div id="date"><a id="preMonth" title="上一年"></a><a id="preYear" title="上一月"></a><span id="selectDate"><select id="selectYear"> </select><select id="selectMonth"><option value="1">1月</option><option value="2">2月</option><option value="3">3月</option><option value="4">4月</option><option value="5">5月</option><option value="6">6月</option><option value="7">7月</option><option value="8">8月</option><option value="9">9月</option><option value="10">10月</option><option value="11">11月</option><option value="12">12月</option></select></span><a id="nextYear" title="下一月"></a><a id="nextMonth" title="下一年"></a></div><table id="calTable"><thead><tr><th class="red">日</th><th>一</th><th>二</th><th>三</th><th>四</th><th>五</th><th class="red">六</th></tr></thead><tbody><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>
</div></body>
</html>
下面是各種date() 相關(guān)方法,方便查閱:
Date 對(duì)象用于處理日期和時(shí)間。 創(chuàng)建 Date 對(duì)象的語(yǔ)法: var myDate=new Date() Date 對(duì)象會(huì)自動(dòng)把當(dāng)前日期和時(shí)間保存為其初始值。 參數(shù)形式有以下5種:??
?? new Date("month dd,yyyy hh:mm:ss"); ?? new?Date("month dd,yyyy"); ?? new?Date(yyyy,mth,dd,hh,mm,ss); ?? new Date(yyyy,mth,dd); ?? new Date(ms);
注意最后一種形式,參數(shù)表示的是需要?jiǎng)?chuàng)建的時(shí)間和GMT時(shí)間1970年1月1日之間相差的毫秒數(shù)。各種函數(shù)的含義如下:
month:用英文表示月份名稱,從January到December
mth:用整數(shù)表示月份,從(1月)到11(12月)
dd:表示一個(gè)月中的第幾天,從1到31
yyyy:四位數(shù)表示的年份
hh:小時(shí)數(shù),從0(午夜)到23(晚11點(diǎn))
mm:分鐘數(shù),從0到59的整數(shù)
ss:秒數(shù),從0到59的整數(shù)
ms:毫秒數(shù),為大于等于0的整數(shù)
如:
new Date("January 12,2006 22:19:35");
new Date("January 12,2006");
new Date(2006,0,12,22,19,35);
new Date(2006,0,12);
new Date(1137075575000);
Date() 返回當(dāng)日的日期和時(shí)間。? getDate() 從 Date 對(duì)象返回一個(gè)月中的某一天 (1 ~ 31)。? getDay() 從 Date 對(duì)象返回一周中的某一天 (0 ~ 6)。? getMonth() 從 Date 對(duì)象返回月份 (0 ~ 11)。? getFullYear() 從 Date 對(duì)象以四位數(shù)字返回年份。 getYear() 請(qǐng)使用 getFullYear() 方法代替。 getHours() 返回 Date 對(duì)象的小時(shí) (0 ~ 23)。? getMinutes() 返回 Date 對(duì)象的分鐘 (0 ~ 59)。? getSeconds() 返回 Date 對(duì)象的秒數(shù) (0 ~ 59)。? getMilliseconds() 返回 Date 對(duì)象的毫秒(0 ~ 999)。? getTime() 返回 1970 年 1 月 1 日至今的毫秒數(shù)。? getTimezoneOffset() 返回本地時(shí)間與格林威治標(biāo)準(zhǔn)時(shí)間 (GMT) 的分鐘差。? getUTCDate() 根據(jù)世界時(shí)從 Date 對(duì)象返回月中的一天 (1 ~ 31)。? getUTCDay() 根據(jù)世界時(shí)從 Date 對(duì)象返回周中的一天 (0 ~ 6)。? getUTCMonth() 根據(jù)世界時(shí)從 Date 對(duì)象返回月份 (0 ~ 11)。? getUTCFullYear() 根據(jù)世界時(shí)從 Date 對(duì)象返回四位數(shù)的年份。? getUTCHours() 根據(jù)世界時(shí)返回 Date 對(duì)象的小時(shí) (0 ~ 23)。? getUTCMinutes() 根據(jù)世界時(shí)返回 Date 對(duì)象的分鐘 (0 ~ 59)。 getUTCSeconds() 根據(jù)世界時(shí)返回 Date 對(duì)象的秒鐘 (0 ~ 59)。? getUTCMilliseconds() 根據(jù)世界時(shí)返回 Date 對(duì)象的毫秒(0 ~ 999)。? parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒數(shù)。 setDate() 設(shè)置 Date 對(duì)象中月的某一天 (1 ~ 31)。 setMonth() 設(shè)置 Date 對(duì)象中月份 (0 ~ 11)。? setFullYear() 設(shè)置 Date 對(duì)象中的年份(四位數(shù)字)。? setYear() 請(qǐng)使用 setFullYear() 方法代替。? setHours() 設(shè)置 Date 對(duì)象中的小時(shí) (0 ~ 23)。? setMinutes() 設(shè)置 Date 對(duì)象中的分鐘 (0 ~ 59)。? setSeconds() 設(shè)置 Date 對(duì)象中的秒鐘 (0 ~ 59)。? setMilliseconds() 設(shè)置 Date 對(duì)象中的毫秒 (0 ~ 999)。? setTime() 以毫秒設(shè)置 Date 對(duì)象。? setUTCDate() 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中月份的一天 (1 ~ 31)。? setUTCMonth() 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的月份 (0 ~ 11)。? setUTCFullYear() 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的年份(四位數(shù)字)。? setUTCHours() 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的小時(shí) (0 ~ 23)。? setUTCMinutes() 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的分鐘 (0 ~ 59)。? setUTCSeconds() 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的秒鐘 (0 ~ 59)。? setUTCMilliseconds() 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的毫秒 (0 ~ 999)。? toSource() 返回該對(duì)象的源代碼。? toString() 把 Date 對(duì)象轉(zhuǎn)換為字符串。? toTimeString() 把 Date 對(duì)象的時(shí)間部分轉(zhuǎn)換為字符串。? toDateString() 把 Date 對(duì)象的日期部分轉(zhuǎn)換為字符串。 toGMTString() 請(qǐng)使用 toUTCString() 方法代替。 1 3 toUTCString() 根據(jù)世界時(shí),把 Date 對(duì)象轉(zhuǎn)換為字符串。?? toLocaleString() 根據(jù)本地時(shí)間格式,把 Date 對(duì)象轉(zhuǎn)換為字符串。? toLocaleTimeString() 根據(jù)本地時(shí)間格式,把 Date 對(duì)象的時(shí)間部分轉(zhuǎn)換為字符串。? toLocaleDateString() 根據(jù)本地時(shí)間格式,把 Date 對(duì)象的日期部分轉(zhuǎn)換為字符串。? UTC() 根據(jù)世界時(shí)返回 1997 年 1 月 1 日 到指定日期的毫秒數(shù)。 valueOf() 返回 Date 對(duì)象的原始值。? var objDate=new Date([arguments list]);
轉(zhuǎn)載于:https://www.cnblogs.com/hdchangchang/archive/2013/01/09/3965376.html
總結(jié)
以上是生活随笔 為你收集整理的jquery 简单日历 的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔 網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔 推薦給好友。