jquery 简单日历

今天试着用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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis内存默认值调整

redis一般设置物理内存的3/4 redis.conf配置文件修改maxmemory这个值来调整redis的内存大小 info memory命令可用查看redis内存使用情况 info可用查询redis下的各种命令

表示探索、探究的几个词

explore, exploit, investigate转载于:https://www.cnblogs.com/burellow/archive/2013/01/09/2853075.html

linux lvm 磁盘管理

附加:lvm这是一个新系统,依然debian 6.0.6,走起 我在装系统的时候手动进行了分区(之前都是自动分区并配置lvm,感觉不怎么合适),三个主分区:/boot,/,/swap 预留了30G的空间,其实是我以一个20G的debian系统原版为backingfile&#xff08;qemu&#xff09;创建的一个50G的磁盘&…

JSP中EL表达式说明

EL表达式总 EL表达式总是用大括号括起&#xff0c;而且前面有一个美元符&#xff08;$&#xff09;前缀&#xff1a;${expression}。 表示式中第一个命名变量要么式一个隐式对象&#xff0c;要么是某个作用域&#xff08;页面作用域、请求作用域、会话作用域或应用作用域&#…

mysql支持的存储引擎

SHOW ENGINES; 默认支持innodb&#xff0c;其他存储引擎都不支持事务 innodb存储引擎的架构&#xff1a;

当众讲话第二章当众讲话的基本原则

第二章&#xff0c;当众讲话的基本原则 符合身份&#xff0c;措辞要符合自己的角色 正确认识自己的角色&#xff0c;使用符合自己身份的语言&#xff0c;注意以下三点 1&#xff0c;你的称谓&#xff0c;口气要合适 2.注意自己的多重身份&#xff0c;针对不同的环境&#xff0c…

WinCE启动过程

0) TI 有内部ROM code 1) x-loader mlo : mmc loader (from sd card) 2) eboot nk.bin转载于:https://www.cnblogs.com/codediscuss/archive/2013/01/18/2866164.html

撑开最外侧的div

overflow: hidden;转载于:https://www.cnblogs.com/connlyn/archive/2013/01/21/2869504.html

[转]Nant daily build实践

本文转自&#xff1a;http://www.cnblogs.com/moonvan/archive/2006/11/07/552585.html 折腾了一个周,基于Nant的VS.NET项目每日构建终于成功了&#xff0c;在网上实际上有很多这样的例子&#xff0c;但所集成的解决方案都比较简单&#xff0c;我现在做的解决方案&#xff0c;有…

滤镜混合应用

混合滤镜使用&#xff1a;创建一个滤镜对象&#xff1b; 创建一个数组&#xff0c;并将滤镜的对象添加到该数组当中&#xff1b; 利用影片剪辑的filters属性&#xff0c;将数组当中的效果赋予该影片剪辑即可12345678import flash.display.Bitmap; import flash.display.…

Redisson的看门狗机制

来自他人文章&#xff1a;Redisson的看门狗机制_JAVA_侠的博客-CSDN博客_redisson看门狗机制

2013年1月23号

这几天一直在打酱油&#xff0c;估计到年前都不会有什么大动作了。 这周6公司年会&#xff0c;话说真够抠门的&#xff0c;年会还要在星期6开。 每天到公司来&#xff0c;打开电脑&#xff0c;看书&#xff0c;看代码&#xff0c;看界面&#xff0c;看文档&#xff0c;一天很快…

Windows 8的企业部署之路漫漫兮

日前&#xff0c;TechRepublic.com网站就企业升级Windows 8的计划对1200名IT员工进行了调查。结果显示&#xff0c;约74%的企业目前还没计划在企业内部部署Windows 8。排在前三名的原因分别是&#xff1a;1)现有的OS够用了;2)担心与之前应用的兼容性; 3)需培训员工熟悉Win8的新…

MyBatis + MVC 获取 UI 参数的几种方法(二)

方法一&#xff1a;(Form 中必须放name与model的字段名称相同的控件) { xtype: hiddenfield, name: id, id: id, hidden: true }var mNewRecord new IniStore.model.Store();mNewRecord.set(id, this.activeRecord.data.id);mImportForm.loadRecord(mNewRecord);mImportForm.s…

ramdisk根文件系统+initramfs

这几天做了下ramdisk根文件启动实验&#xff0c;小结下。 测试环境:Ubuntu 12.04 首先我认为先制作根文件系统好&#xff0c;因为配置内核中有一项跟你制作的ramdisk大小有关。这里我是直接使用原先制作好的根文件系统。 1. 制作ramdisk根文件系统镜像 首先安装ext2文件系…

MySQL数据库开启root用户远程登录

MySQL数据库开启root用户远程登录 如果mysql不支持远程连接&#xff0c;会出现提示&#xff1a;错误代码是1130&#xff0c;ERROR 1130: Host 192.168.0.10 is not allowed to connect to this MySQL server &#xff0c;解决此问题有以下2个方法&#xff1a;1、改表法&#x…

CentOS操作系统(LAMP)安装教程

http://hi.baidu.com/marvinchen/item/d4f358d971b5b3e054347f44 转载于:https://www.cnblogs.com/Joynic/articles/2881344.html

localToGlobal 本地转换全局

// localToGlobal 本地转换全局var square:Sprite new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(0, 0, 100, 100); square.x 100; square.y 200;addChild(square);square.addEventListener(MouseEvent.CLICK, traceCoordinates)functio…

viewController详解

一、生命周期当一个视图控制器被创建&#xff0c;并在屏幕上显示的时候。 代码的执行顺序 1、 alloc 创建对象&#xff0c;分配空间 2、init (initWithNibName) 初始化对象&#xff0c;初始化数据 3、loadView 从n…