实例介绍
【实例简介】
解压后才能正常运行
主程序为'日历.html'
【实例截图】
【核心代码】
<!doctype html> <html> <head> <meta charset="utf-8"> <title>日历</title> <style type="text/css"> body { background-color: #efefef; } #CalendarMain { width: 300px; height: 300px; border: 1px solid #ccc; margin: 0 auto; margin-top: 100px; } #title { width: 100%; height: 30px; background-color: #b9121b; } .selectBtn { font-weight: 900; font-size: 15px; color: #fff; cursor: pointer; text-decoration: none; padding: 7px 10px 6px 10px; } .selectBtn:hover { background-color: #1d953f; } .selectYear { float: left; margin-left: 50px; position: absolute; } .selectMonth { float: left; margin-left: 120px; position: absolute; } .month { float: left; position: absolute; } .nextMonth { float: right; } .currentDay { float: right; } #context { background-color: #fff; width: 100%; } .week { width: 100%; height: 30px; } .week>h3 { float: left; color: #808080; text-align: center; margin: 0; padding: 0; margin-top: 5px; font-size: 16px; } .dayItem { float: left; } .lastItem { color: #d1c7b7 !important; } .item { color: #333; float: left; text-align: center; cursor: pointer; margin: 0; font-family: "微软雅黑"; font-size: 13px; } .item:hover { color: #b9121b; } .currentItem>a { background-color: #b9121b; width: 25px; line-height: 25px; float: left; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; color: #fff; } #foots { width: 100%; height: 35px; background-color: #fff; border-top: 1px solid #ccc; margin-top: -1px; } #footNow { float: right; margin: 6px 15px 0 0; color: #009ad6; font-family: "微软雅黑"; } #Container { overflow: hidden; float: left; } #center { width: 100%; overflow: hidden; } #centerMain { width: 300%; margin-left: -100%; } #selectYearDiv { float: left; background-color: #fff; } #selectYearDiv>div { float: left; text-align: center; font-family: "微软雅黑"; font-size: 16px; border: 1px solid #ccc; margin-left: -1px; margin-top: -1px; cursor: pointer; color: #909090; } .currentYearSd, .currentMontSd { color: #ff4400 !important; } #selectMonthDiv { float: left; background-color: #fff; } #selectMonthDiv>div { color: #909090; float: left; text-align: center; font-family: "微软雅黑"; font-size: 16px; border: 1px solid #ccc; margin-left: -1px; margin-top: -1px; cursor: pointer; } #selectYearDiv>div:hover, #selectMonthDiv>div:hover { background-color: #efefef; } #centerCalendarMain { float: left; } </style> </head> <body> <div id="Demo"> <div id="CalendarMain"> <div id="title"> <a class="selectBtn month" href="javascript:" onClick="CalendarHandler.CalculateLastMonthDays();"><</a><a class="selectBtn selectYear" href="javascript:" onClick="CalendarHandler.CreateSelectYear(CalendarHandler.showYearStart);">2014年</a><a class="selectBtn selectMonth" onClick="CalendarHandler.CreateSelectMonth()">6月</a> <a class="selectBtn nextMonth" href="javascript:" onClick="CalendarHandler.CalculateNextMonthDays();">></a><a class="selectBtn currentDay" href="javascript:" onClick="CalendarHandler.CreateCurrentCalendar(0,0,0);">返回今天</a></div> <div id="context"> <div class="week"> <h3> 一 </h3> <h3> 二 </h3> <h3> 三 </h3> <h3> 四 </h3> <h3> 五 </h3> <h3> 六 </h3> <h3> 日 </h3> </div> <div id="center"> <div id="centerMain"> <div id="selectYearDiv"></div> <div id="centerCalendarMain"> <div id="Container"></div> </div> <div id="selectMonthDiv"></div> </div> </div> <div id="foots"><a id="footNow">19:14:34</a></div> </div> </div> </body> <script type="text/javascript" src="js/jquery-1.4.min.js"></script> <script type="text/javascript"> $(document).ready(function(e) { CalendarHandler.initialize(); }); var CalendarHandler = { currentYear: 0, currentMonth: 0, isRunning: false, showYearStart:2009, tag:0, initialize: function() { $calendarItem = this.CreateCalendar(0, 0, 0); $("#Container").append($calendarItem); $("#context").css("height", $("#CalendarMain").height() - 65 "px"); $("#center").css("height", $("#context").height() - 30 "px"); $("#selectYearDiv").css("height", $("#context").height() - 30 "px").css("width", $("#context").width() "px"); $("#selectMonthDiv").css("height", $("#context").height() - 30 "px").css("width", $("#context").width() "px"); $("#centerCalendarMain").css("height", $("#context").height() - 30 "px").css("width", $("#context").width() "px"); $calendarItem.css("height", $("#context").height() - 30 "px"); //.css("visibility","hidden"); $("#Container").css("height", "0px").css("width", "0px").css("margin-left", $("#context").width() / 2 "px").css("margin-top", ($("#context").height() - 30) / 2 "px"); $("#Container").animate({ width: $("#context").width() "px", height: ($("#context").height() - 30) * 2 "px", marginLeft: "0px", marginTop: "0px" }, 300, function() { $calendarItem.css("visibility", "visible"); }); $(".dayItem").css("width", $("#context").width() "px"); var itemPaddintTop = $(".dayItem").height() / 6; $(".item").css({ "width": $(".week").width() / 7 "px", "line-height": itemPaddintTop "px", "height": itemPaddintTop "px" }); $(".currentItem>a").css("margin-left", ($(".item").width() - 25) / 2 "px").css("margin-top", ($(".item").height() - 25) / 2 "px"); $(".week>h3").css("width", $(".week").width() / 7 "px"); this.RunningTime(); }, CreateSelectYear: function(showYearStart) { CalendarHandler.showYearStart=showYearStart; $(".currentDay").show(); $("#selectYearDiv").children().remove(); var yearindex = 0; for (var i = showYearStart; i < showYearStart 12; i ) { yearindex ; if(i==showYearStart){ $last=$("<div>往前</div>"); $("#selectYearDiv").append($last); $last.click(function(){ CalendarHandler.CreateSelectYear(CalendarHandler.showYearStart-10); }); continue; } if(i==showYearStart 11){ $next=$("<div>往后</div>"); $("#selectYearDiv").append($next); $next.click(function(){ CalendarHandler.CreateSelectYear(CalendarHandler.showYearStart 10); }); continue; } if (i == this.currentYear) { $yearItem=$("<div class=\"currentYearSd\" id=\"" yearindex "\">" i "</div>") } else{ $yearItem=$("<div id=\"" yearindex "\">" i "</div>"); } $("#selectYearDiv").append($yearItem); $yearItem.click(function(){ $calendarItem=CalendarHandler.CreateCalendar(Number($(this).html()),1,1); $("#Container").append($calendarItem); CalendarHandler.CSS() CalendarHandler.isRunning = true; $($("#Container").find(".dayItem")[0]).animate({ height: "0px" }, 300, function() { $(this).remove(); CalendarHandler.isRunning = false; }); $("#centerMain").animate({ marginLeft: -$("#center").width() "px" }, 500); }); if (yearindex == 1 || yearindex == 5 || yearindex == 9) $("#selectYearDiv").find("#" yearindex).css("border-left-color", "#fff"); if (yearindex == 4 || yearindex == 8 || yearindex == 12) $("#selectYearDiv").find("#" yearindex).css("border-right-color", "#fff"); } $("#selectYearDiv>div").css("width", ($("#center").width() - 4) / 4 "px").css("line-height", ($("#center").height() - 4) / 3 "px"); $("#centerMain").animate({ marginLeft: "0px" }, 300); }, CreateSelectMonth: function() { $(".currentDay").show(); $("#selectMonthDiv").children().remove(); for (var i = 1; i < 13; i ) { if (i == this.currentMonth) $monthItem=$("<div class=\"currentMontSd\" id=\"" i "\">" i "月</div>"); else $monthItem=$("<div id=\"" i "\">" i "月</div>"); $("#selectMonthDiv").append($monthItem); $monthItem.click(function(){ $calendarItem=CalendarHandler.CreateCalendar(CalendarHandler.currentYear,Number($(this).attr("id")),1); $("#Container").append($calendarItem); CalendarHandler.CSS() CalendarHandler.isRunning = true; $($("#Container").find(".dayItem")[0]).animate({ height: "0px" }, 300, function() { $(this).remove(); CalendarHandler.isRunning = false; }); $("#centerMain").animate({ marginLeft: -$("#center").width() "px" }, 500); }); if (i == 1 || i == 5 || i == 9) $("#selectMonthDiv").find("#" i).css("border-left-color", "#fff"); if (i == 4 || i == 8 || i == 12) $("#selectMonthDiv").find("#" i).css("border-right-color", "#fff"); } $("#selectMonthDiv>div").css("width", ($("#center").width() - 4) / 4 "px").css("line-height", ($("#center").height() - 4) / 3 "px"); $("#centerMain").animate({ marginLeft: -$("#center").width() * 2 "px" }, 300); }, IsRuiYear: function(aDate) { return (0 == aDate % 4 && (aDate % 100 != 0 || aDate % 400 == 0)); }, CalculateWeek: function(y, m, d) { var arr = "7123456".split(""); with(document.all) { var vYear = parseInt(y, 10); var vMonth = parseInt(m, 10); var vDay = parseInt(d, 10); } var week =arr[new Date(y,m-1,vDay).getDay()]; return week; }, CalculateMonthDays: function(m, y) { var mDay = 0; if (m == 0 || m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) { mDay = 31; } else { if (m == 2) { //判断是否为芮年 var isRn = this.IsRuiYear(y); if (isRn == true) { mDay = 29; } else { mDay = 28; } } else { mDay = 30; } } return mDay; }, CreateCalendar: function(y, m, d) { $dayItem = $("<div class=\"dayItem\"></div>"); //获取当前月份的天数 var nowDate = new Date(); if(y==nowDate.getFullYear()&&m==nowDate.getMonth() 1||(y==0&&m==0)) $(".currentDay").hide(); var nowYear = y == 0 ? nowDate.getFullYear() : y; this.currentYear = nowYear; var nowMonth = m == 0 ? nowDate.getMonth() 1 : m; this.currentMonth = nowMonth; var nowDay = d == 0 ? nowDate.getDate() : d; $(".selectYear").html(nowYear "年"); $(".selectMonth").html(nowMonth "月"); var nowDaysNub = this.CalculateMonthDays(nowMonth, nowYear); //获取当月第一天是星期几 //var weekDate = new Date(nowYear "-" nowMonth "-" 1); //alert(weekDate.getDay()); var nowWeek = parseInt(this.CalculateWeek(nowYear, nowMonth, 1)); //nowWeek=weekDate.getDay()==0?7:weekDate.getDay(); //var nowWeek=weekDate.getDay(); //获取上个月的天数 var lastMonthDaysNub = this.CalculateMonthDays((nowMonth - 1), nowYear); if (nowWeek != 0) { //生成上月剩下的日期 for (var i = (lastMonthDaysNub - (nowWeek - 1)); i < lastMonthDaysNub; i ) { $dayItem.append("<div class=\"item lastItem\"><a>" (i 1) "</a></div>"); } } //生成当月的日期 for (var i = 0; i < nowDaysNub; i ) { if (i == (nowDay - 1)) $dayItem.append("<div class=\"item currentItem\"><a>" (i 1) "</a></div>"); else $dayItem.append("<div class=\"item\"><a>" (i 1) "</a></div>"); } //获取总共已经生成的天数 var hasCreateDaysNub = nowWeek nowDaysNub; //如果小于42,往下个月推算 if (hasCreateDaysNub < 42) { for (var i = 0; i <= (42 - hasCreateDaysNub); i ) { $dayItem.append("<div class=\"item lastItem\"><a>" (i 1) "</a></div>"); } } return $dayItem; }, CSS: function() { var itemPaddintTop = $(".dayItem").height() / 6; $(".item").css({ "width": $(".week").width() / 7 "px", "line-height": itemPaddintTop "px", "height": itemPaddintTop "px" }); $(".currentItem>a").css("margin-left", ($(".item").width() - 25) / 2 "px").css("margin-top", ($(".item").height() - 25) / 2 "px"); }, CalculateNextMonthDays: function() { if (this.isRunning == false) { $(".currentDay").show(); var m = this.currentMonth == 12 ? 1 : this.currentMonth 1; var y = this.currentMonth == 12 ? (this.currentYear 1) : this.currentYear; var d = 0; var nowDate = new Date(); if (y == nowDate.getFullYear() && m == nowDate.getMonth() 1) d = nowDate.getDate(); else d = 1; $calendarItem = this.CreateCalendar(y, m, d); $("#Container").append($calendarItem); this.CSS(); this.isRunning = true; $($("#Container").find(".dayItem")[0]).animate({ height: "0px" }, 300, function() { $(this).remove(); CalendarHandler.isRunning = false; }); } }, CalculateLastMonthDays: function() { if (this.isRunning == false) { $(".currentDay").show(); var nowDate = new Date(); var m = this.currentMonth == 1 ? 12 : this.currentMonth - 1; var y = this.currentMonth == 1 ? (this.currentYear - 1) : this.currentYear; var d = 0; if (y == nowDate.getFullYear() && m == nowDate.getMonth() 1) d = nowDate.getDate(); else d = 1; $calendarItem = this.CreateCalendar(y, m, d); $("#Container").append($calendarItem); var itemPaddintTop = $(".dayItem").height() / 6; this.CSS(); this.isRunning = true; $($("#Container").find(".dayItem")[0]).animate({ height: "0px" }, 300, function() { $(this).remove(); CalendarHandler.isRunning = false; }); } }, CreateCurrentCalendar: function() { if (this.isRunning == false) { $(".currentDay").hide(); $calendarItem = this.CreateCalendar(0, 0, 0); $("#Container").append($calendarItem); this.isRunning = true; $($("#Container").find(".dayItem")[0]).animate({ height: "0px" }, 300, function() { $(this).remove(); CalendarHandler.isRunning = false; }); this.CSS(); $("#centerMain").animate({ marginLeft: -$("#center").width() "px" }, 500); } }, RunningTime: function() { var mTiming = setInterval(function() { var nowDate = new Date(); var h=nowDate.getHours()<10?"0" nowDate.getHours():nowDate.getHours(); var m=nowDate.getMinutes()<10?"0" nowDate.getMinutes():nowDate.getMinutes(); var s=nowDate.getSeconds()<10?"0" nowDate.getSeconds():nowDate.getSeconds(); var nowTime = h ":" m ":" s; $("#footNow").html("本地时间 " nowTime); }, 1000); } } </script> <!--[if IE 7]> <style type="text/css"> .menuItem{ margin-left:-130px; } </style> <![endif]--> </html>
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论