今天试着用jquery 写了一个日历,等有时间研究一下别人写的思路,上代码:

<!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,  //开始年份this.endyear=endyear,      //结束年份this.selyear=selyear,      //选择年份select的idthis.selectMonth=selectMonth, //选择月份select的idthis.timetb=timetb,        // 日期表格    this.mousecls=mousecls     //鼠标滑过的样式切换类名}showTm.prototype.changeTm = function(){var _self=this;//填充年份var minyear=Math.min(_self.endyear,_self.beginyear);if(minyear<1970){alert("您输入的开始年份需要大于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);      }              //填充时间tablechangeTmnow();$("#"+_self.selyear).change(changeTmnow);$("#"+_self.selectMonth).change(changeTmnow);function changeTmnow(){        var daycont; //每月的天数var yearval=parseInt( $("#"+_self.selyear).val() );var monval=parseInt( $("#"+_self.selectMonth).val() );   //确定每个月的天数if($.inArray(monval,[1,3,5,7,8,10,12])>-1){   //判断之前需要转换数据类型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();   //确定每月的第一天 填充那个格子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"})}}//添加鼠标滑过效果$("#"+_self.timetb+" tbody td").hover(function(){$(this).toggleClass(_self.mousecls)})} //end changeTmnow()}  //end changeTm()//函数的调用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() 相关方法,方便查阅:

Date 对象用于处理日期和时间。
创建 Date 对象的语法:
var myDate=new Date()
Date 对象会自动把当前日期和时间保存为其初始值。
参数形式有以下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);

注意最后一种形式,参数表示的是需要创建的时间和GMT时间1970年1月1日之间相差的毫秒数。各种函数的含义如下:

month:用英文表示月份名称,从January到December

mth:用整数表示月份,从(1月)到11(12月)

dd:表示一个月中的第几天,从1到31

yyyy:四位数表示的年份

hh:小时数,从0(午夜)到23(晚11点)

mm:分钟数,从0到59的整数

ss:秒数,从0到59的整数

ms:毫秒数,为大于等于0的整数

如:

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() 返回当日的日期和时间。 
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 
getMonth() 从 Date 对象返回月份 (0 ~ 11)。 
getFullYear() 从 Date 对象以四位数字返回年份。
getYear() 请使用 getFullYear() 方法代替。
getHours() 返回 Date 对象的小时 (0 ~ 23)。 
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 
getTime() 返回 1970 年 1 月 1 日至今的毫秒数。 
getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。 
getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 
getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。 
getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。 
getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。 
getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。 
getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。
getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。 
getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。 
parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
setMonth() 设置 Date 对象中月份 (0 ~ 11)。 
setFullYear() 设置 Date 对象中的年份(四位数字)。 
setYear() 请使用 setFullYear() 方法代替。 
setHours() 设置 Date 对象中的小时 (0 ~ 23)。 
setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。 
setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。 
setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。 
setTime() 以毫秒设置 Date 对象。 
setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 
setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。 
setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。 
setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。 
setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 
setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。 
setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 
toSource() 返回该对象的源代码。 
toString() 把 Date 对象转换为字符串。 
toTimeString() 把 Date 对象的时间部分转换为字符串。 
toDateString() 把 Date 对象的日期部分转换为字符串。
toGMTString() 请使用 toUTCString() 方法代替。 1 3
toUTCString() 根据世界时,把 Date 对象转换为字符串。  
toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。 
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。 
toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。 
UTC() 根据世界时返回 1997 年 1 月 1 日 到指定日期的毫秒数。
valueOf() 返回 Date 对象的原始值。 
var objDate=new Date([arguments list]);

转载于:https://www.cnblogs.com/hdchangchang/archive/2013/01/09/3965376.html

jquery 简单日历相关推荐

  1. html桌面日历功能,jQuery简单带记事功能的日历插件

    e-calendar是一款jQuery简单带记事功能的日历插件.通过该jQuery日历插件你可以记录或设置某天某个时刻发生的事情,具有工作备忘录的功能.通过简单的参数设置你就可以定制该日历插件的外观. ...

  2. jQuery简单备忘录功能的日历插件

    e-calendar是一款jQuery简单带备忘录功能的日历插件.通过该jQuery日历插件你可以记录或设置某天某个时刻发生的事情,具有工作备忘录的功能.通过简单的参数设置你就可以定制该日历插件的外观 ...

  3. jquery表格日历写入html,jQuery简单实现日历的方法

    本文实例讲述了jQuery简单实现日历的方法.分享给大家供大家参考.具体分析如下: 原理挺简单的,首先算出一个月有多少天,再算出这个月的第一天是星期几,接着顺序排下来就可以了. tryMyOwnCal ...

  4. jQuery简单实现iframe的高度根据页面内容自适应的方法(转)

    本文实例讲述了jQuery简单实现iframe的高度根据页面内容自适应的方法.分享给大家供大家参考,具体如下:方式1://注意:下面的代码是放在和iframe同一个页面中调用 $("#ifr ...

  5. 一款简洁大气的jquery日期日历插件

    本jquery插件名为manhuaDate,暂时只支持jquery 1.9.0以下版本,比如jquery-1.8.3.min.js 查看效果网址: http://keleyi.com/a/bjad/e ...

  6. html 浮动窗口置顶,jQuery简单实现页面元素置顶时悬浮效果示例

    本文实例讲述了jQuery简单实现页面元素置顶时悬浮效果的方法.分享给大家供大家参考,具体如下: 一.JS Code: $.fn.smartFloat = function () { var posi ...

  7. PHP单选框实现的方法,jQuery简单实现遍历单选框的方法

    本文实例讲述了jQuery简单实现遍历单选框的方法.分享给大家供大家参考,具体如下: 1.问题背景: 有四个单选框,分别为一年四季,现在需要判断是否选中,如果选中这个单选框,就将其值赋值给输入框 2. ...

  8. jQuery简单插件开发

    jQuery简单插件开发 jQuery有非常强大的扩展性,开发者可以简单的使用jQuery开发自己的插件运用于应用中.jQuery可以理解为一个强大的JavaScript类,jQuery选择器选择到的 ...

  9. input 模糊匹配功能 文本框模糊匹配(纯html+jquery简单实现) demo

    input 模糊匹配功能 文本框模糊匹配(纯html+jquery简单实现) demo <!DOCTYPE HTML> <html lang="en"> & ...

最新文章

  1. python2 urllib 笔记
  2. 惠普m1005连接电脑步骤_电脑连接电视机详细步骤方法图文
  3. 分布式系统关注点(2)——烦人的数据不一致问题到底怎么解决?——通过“共识”达成数据一致性...
  4. 编程语言对比 迭代器
  5. mysql中同一天入职怎么表示_ORACLE入职考试题及答案
  6. hsqldb 的简单使用
  7. 数字滤波器及GUI界面的设计(MATLAB)
  8. excel复习-数据透视表
  9. napa与matlab,纳帕谷产区Napa Valley|酒斛网 - 与数十万葡萄酒爱好者一起发现美酒,分享微醺的乐趣...
  10. 斐波那契数列(兔子数列)
  11. mysql/hive求实际活动时间
  12. c语言蚂蚁王国的货币系统,蚂蚁王国的探索之旅
  13. 技术支持和测试的区别_软件测试与开发岗位,哪个更适合你?
  14. StringBuffer的常用方法
  15. 【pytest】(二) pytest与unittest的比较
  16. AHP层次分析法(Analytic Hierarchy Process)——个人学习笔记
  17. 真的看不见我? 潜入类游戏敌兵AI的界定
  18. 五轴数控加工的操作和编程技能密切相关
  19. 《行为经济学》北京大学 孟涓涓 第三章
  20. 信号频谱分析、功率谱分析、倒谱分析、小波分析

热门文章

  1. pyecharts本地文件_python数据可视化-pyecharts插件使用文档
  2. python开发框架大全_最受欢迎 Top 12 Python 开源框架,你都用过吗?
  3. haskell 求列表最大值_Haskell和自然数之基础篇
  4. android 清理工具,Android 版 Avira Optimizer 是 Android 手機清理工具
  5. ‘cnpm‘ 不是内部或外部命令,也不是可运行的程序
  6. mulitpartfile怎么接收不到值_手机有时接收不到微信消息通知,怎么办?超全解决方案...
  7. oracle字段公式怎么执行,Oracle 在存储过程或函数中执行字符串sql PDF 下载
  8. php if 单行,php – 单行if语句或if语句没有大括号坏习惯?
  9. 福师计算机在线作业一2,福师《计算机》在线作业二答案.doc
  10. mysql入门到跑路_Mysql入门二十小题(DBA老司机带你删库到跑路)2018.11.26