设为首页
|
加入收藏
您好,欢迎来到点滴吧!
手机版
www.diandiba.com
记录点点滴滴,尽在点滴吧
文章
文章
特效
素材
景点
首页
手机
建站
源码
服务器
生活
常识
健康
美食
美容
旅游
景点
攻略
游记
特产
知识
笑话
名句
散文
故事
编程
ASP
PHP
.NET
SQL
软件
Office
QQ
Photoshop
特效
幻灯片
图片相册
播放器
素材
图片
PSD素材
网页模板
您现在的位置:
首页
>
日期时间
> 特效详情
线路日历报价js代码
更新时间:2015/1/5 23:21:38 下载:3397次
<!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=gb2312" /> <title>线路日历报价js代码</title> </head> <body> <script type="text/javascript"> var $ = function (id) { return "string" == typeof id ? document.getElementById(id) : id; }; var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } var Extend = function(destination, source) { for (var property in source) { destination[property] = source[property]; } return destination; } var Calendar = Class.create(); Calendar.prototype = { initialize: function(container, options) { this.Container = $(container);//容器(table结构) this.Days = [];//日期对象列表 this.SetOptions(options); this.Year = this.options.Year || new Date().getFullYear(); this.Month = this.options.Month || new Date().getMonth() + 1; this.SelectDay = this.options.SelectDay ? new Date(this.options.SelectDay) : null; this.onSelectDay = this.options.onSelectDay; this.onToday = this.options.onToday; this.onFinish = this.options.onFinish; this.Draw(); }, //设置默认属性 SetOptions: function(options) { this.options = {//默认值 Year: 0,//显示年 Month: 0,//显示月 SelectDay: null,//选择日期 onSelectDay: function(){},//在选择日期触发 onToday: function(){},//在当天日期触发 onFinish: function(){}//日历画完后触发 }; Extend(this.options, options || {}); }, //当前月 NowMonth: function() { this.PreDraw(new Date()); }, //上一月 PreMonth: function() { this.PreDraw(new Date(this.Year, this.Month - 2, 1)); }, //下一月 NextMonth: function() { this.PreDraw(new Date(this.Year, this.Month, 1)); }, //上一年 PreYear: function() { this.PreDraw(new Date(this.Year - 1, this.Month - 1, 1)); }, //下一年 NextYear: function() { this.PreDraw(new Date(this.Year + 1, this.Month - 1, 1)); }, //根据日期画日历 PreDraw: function(date) { //再设置属性 this.Year = date.getFullYear(); this.Month = date.getMonth() + 1; //重新画日历 this.Draw(); }, //画日历 Draw: function() { //用来保存日期列表 var arr = []; //用当月第一天在一周中的日期值作为当月离第一天的天数 for(var i = 1, firstDay = new Date(this.Year, this.Month - 1, 1).getDay(); i <= firstDay; i++){ arr.push(0); } //用当月最后一天在一个月中的日期值作为当月的天数 for(var i = 1, monthDay = new Date(this.Year, this.Month, 0).getDate(); i <= monthDay; i++){ arr.push(i); } //清空原来的日期对象列表 this.Days = []; //插入日期 var frag = document.createDocumentFragment(); while(arr.length){ //每个星期插入一个tr var row = document.createElement("tr"); //每个星期有7天 for(var i = 1; i <= 7; i++){ var cell = document.createElement("td"); cell.innerHTML = " "; if(arr.length){ var d = arr.shift(); if(d){ cell.innerHTML = d; this.Days[d] = cell; var on = new Date(this.Year, this.Month - 1, d); //判断是否今日 this.IsSame(on, new Date()) && this.onToday(cell); //判断是否选择日期 this.SelectDay && this.IsSame(on, this.SelectDay) && this.onSelectDay(cell); } } row.appendChild(cell); } frag.appendChild(row); } //先清空内容再插入(ie的table不能用innerHTML) while(this.Container.hasChildNodes()){ this.Container.removeChild(this.Container.firstChild); } this.Container.appendChild(frag); //附加程序 this.onFinish(); }, //判断是否同一日 IsSame: function(d1, d2) { return (d1.getFullYear() == d2.getFullYear() && d1.getMonth() == d2.getMonth() && d1.getDate() == d2.getDate()); } } </script> <style type="text/css"> .Calendar { font-family:Verdana; font-size:14px; text-align:center; width:950px; line-height:50px; } .Calendar a{ color:#1e5494; } .Calendar table thead{color:#FFFFFF;} .Calendar table td { font-size: 14px; padding:1px; } #idCalendarPre{ cursor:pointer; float:left; padding-right:5px; } #idCalendarNext{ cursor:pointer; float:right; padding-right:5px; } #idCalendar td:hover{background-color:#D3EDFC;} #idCalendar td.onToday { font-weight:bold; color:#C60; } #idCalendar td.onSelect { font-weight:bold; } </style> <div class="Calendar"> <div style="border-top:1px solid #DDDDDD;border-left:1px solid #DDDDDD;border-right:1px solid #DDDDDD;"> <div id="idCalendarPre"> <<上一月</div> <div id="idCalendarNext">下一月>> </div> <strong><span id="idCalendarYear"></span>年 <span id="idCalendarMonth"></span>月</strong> </div> <table border="1" cellspacing="0" bordercolor="#DDDDDD" style="border-collapse:collapse;"> <thead> <tr> <td width="135" bgcolor="#2F96CF">日</td> <td width="135" bgcolor="#2F96CF">一</td> <td width="135" bgcolor="#2F96CF">二</td> <td width="135" bgcolor="#2F96CF">三</td> <td width="135" bgcolor="#2F96CF">四</td> <td width="135" bgcolor="#2F96CF">五</td> <td width="135" bgcolor="#2F96CF">六</td> </tr> </thead> <tbody id="idCalendar"> </tbody> </table> </div> <div style="display:none;"> <input id="idCalendarPreYear" type="button" value="上一年" /> <input id="idCalendarNow" type="button" value="当前月" /> <input id="idCalendarNextYear" type="button" value="下一年" /> </div> <script language="JavaScript"> var cale = new Calendar("idCalendar", { onFinish: function(){ $("idCalendarYear").innerHTML = this.Year; $("idCalendarMonth").innerHTML = this.Month; var flag = ['2013-4-10','2013-4-15','2013-4-20','2013-5-20']; var flagprice = ['500','600','700','700']; for(var i = 0, len = flag.length; i < len; i++){ var markDate = flag[i].split('-'); var markPrice = flagprice[i] if(this.Year == markDate[0] && this.Month == markDate[1]){ this.Days[markDate[2]].innerHTML ="<span style='line-height:25px;'>" + markDate[2] + "<br /><span style='color:#FF8500;'>"+markPrice+"元</span></span>"; } } } }); $("idCalendarPre").onclick = function(){ cale.PreMonth(); } $("idCalendarNext").onclick = function(){ cale.NextMonth(); } $("idCalendarPreYear").onclick = function(){ cale.PreYear(); } $("idCalendarNextYear").onclick = function(){ cale.NextYear(); } $("idCalendarNow").onclick = function(){ cale.NowMonth(); } </script> </body> </html>
预览效果
复制代码
保存代码
提示:可以先修改部分代码后再运行
上一个素材:
精确到秒的javascript倒计时代码
下一个素材:
js显示日期年月日及星期
相关特效
清爽的jQuery日期时间选择
jQuery结合Mobiscroll插件
一款漂亮的JS日期选择器代
1小时倒计时代码
导航分类
热门文章
1
jQuery结合Mobiscroll插件实现
2
1小时倒计时代码
3
清爽的jQuery日期时间选择器插
4
线路日历报价js代码
5
js显示日期年月日及星期
6
一款漂亮的JS日期选择器代码
7
精确到秒的javascript倒计时代
8
js显示日期年月日及星期1
9
js简单显示时间
关于我们
|
联系我们
|
免责声明
|
网站地图
|
CopyRight 2012-2015 www.diandiba.com - 点滴吧 All Rights Reserved
滇ICP备09005765号-2