- 浏览: 408295 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (173)
- java 程序设计 (22)
- struct学习笔记 (11)
- spring学习笔记 (10)
- hibernate学习笔记 (5)
- oracle学习笔记 (2)
- javascript学习笔记 (17)
- jquery学习笔记 (10)
- CSS学习笔记 (16)
- 面向协议的编程 (1)
- jmf学习笔记 (1)
- EJB3.0学习 笔记 (3)
- linux学习笔记 (20)
- 云计算架构学习笔记 (1)
- php程序设计 (1)
- python程序设计 (0)
- 数据结构算法 (5)
- 数据库 (8)
- 数据库设计 (0)
- eclipse 插件 (3)
- resin (2)
- html5 (4)
- linux程序设计 (3)
- android开发 (0)
- 其他 (4)
- 服务器端脚本 (0)
- ruby程序设计 (0)
- perl程序设计 (0)
- 开放平台开发 (1)
最新评论
-
huxin889:
第三四张图片裂了
ant 打包 jar 可执行 -
leichenlei:
user.hashCode() 会出现负数,怎么处理?
mysql merge分表 -
niaoqq1:
不好使。来看看我的方法。js:var NodeArr=getS ...
java中如何在ajax发送参数的时候,参数以数组的方式传递到后数组台 -
zhijiandedaima:
为什么我的defaultCache是空,空指针异常啊
spring 整合memcache -
lt26i:
帮了大忙了向楼主学习
java中如何在ajax发送参数的时候,参数以数组的方式传递到后数组台
写日期插件主要的2个问题:
1。计算某个月有多少天,2012.9月到底有多少天呢?
(new Date(+(new Date(2012, 7, 1)) - 24×60×60×1000)).getDate();
2、知道了当月有多少天还不行,要知道当月1号是要放在什么位置
new Date(2012, 7,1).getDay();
|
下面是日期插件的calendar.js代码
(function($){ //参数 var setting={ container_idName: 'container',//容器的类名 column_space: 10,//列间距 cell_selector: '.data',//要排列的砖块的选择器,context为整个外部容器 pre_year_selector: '.prev-year', next_year_selector: '.next-year', pre_month_selector: '.prev-month', next_month_selector: '.next-month' }, // calendar=$.calendar={},//对外信息对象 $container=null;//容器 $date = new Date(); //当前的时间对象 $year = $date.getFullYear(); $month = $date.getMonth(); $week = $date.getDay(); $.fn.extend({ calendar:function(opt){ opt=opt||{}; setting=$.extend(setting,opt); $container=calendar.$container=$(this); //1初始化日期的输出 _init($('#'+setting.container_idName)); //2 给页面的a标签注册事件处理函数 $(setting.pre_year_selector).live('click',_handPreYear); $(setting.pre_month_selector).live('click',_handPreMonth); $(setting.next_year_selector).live('click',_handNextYear); $(setting.next_month_selector).live('click',_handNextMonth); // $('.row '+setting.css_selector).live('click',_handClickCell); $('.row '+setting.cell_selector).live('click',_handClickCell); //3 给input绑定事件 $('#datepicker').bind('focus',_handInputFocus); //$('#datepicker').bind('blur',_handInputBlur); $('#'+setting.container_idName).bind('mouseleave ',_handMouthOutCont); $('#'+setting.container_idName).bind('mouseenter',_handMouthOverCont); } }); //初始化表格的输出 function _init(element){ //输出操作 _calcTableContent($year,$month,element); } function _calcTableContent(year,month,element){ var html = ''; html = ('<div class="opt"><a href="javascript:void(0);" class="prev-year"><<</a><a href="javascript:void(0);" class="prev-month"><</a><a href="javascript:void(0);" class="title">'+year+'年'+(month+1)+'月</a><a href="javascript:void(0);" class="next-month">></a><a href="javascript:void(0);" class="next-year">>></a></div>'); //输出星期 标题 html += ('<div class="head"><span >天</span><span >一</span><span >二</span><span >三</span><span >四</span><span >五</span><span >六</span></div>'); //debugger; var daysOfMonth = _calcDaysForMonth(year,month+1); var firstDayOfMonth = _calcFirstDayPosition(year,month); var count = 1; outer: for(var i=1;i<7;i++){ html += ('<div class="row">'); for(var j=0;j<7;j++){ if(j<firstDayOfMonth && i==1){ html += ('<a href="###" class="cell"></a>'); }else{ if($date.getDate()===count && $month===month){ html += ('<a href="###" class="cell data highlight" data-year="'+year+'" data-month="'+month+'" data-day="'+(count)+'">'+(count)+'</a>'); }else{ html += ('<a href="###" class="cell data" data-year="'+year+'" data-month="'+month+'" data-day="'+(count)+'">'+(count)+'</a>'); } count++; if(count>daysOfMonth){ break outer; } } } html += ('<div style="clear:both;"></div>'); html += ('</div>'); } //alert(alert(element[0].tagName)); element.html(html); } function creatColumn(){//创建列 waterfall.column_num=calculateColumns();//列数 //循环创建列 var html=''; for(var i=0;i<waterfall.column_num;i++){ html+='<div class="'+setting.column_className+'" style="width:'+setting.column_width+'px; display:inline-block; *display:inline;zoom:1; margin-left:'+setting.column_space/2+'px;margin-right:'+setting.column_space/2+'px; vertical-align:top; overflow:hidden"></div>'; } $container.prepend(html);//插入列 return $('.'+setting.column_className,$container);//列集合 } /** *j 计算一个月有多少天 */ function _calcDaysForMonth(year,month){ var days = (new Date(+(new Date(year, month, 1)) - 86400000)).getDate(); return days; } /** *计算这个月的第一天显示的的位置,可以根据它的星期来计算 */ function _calcFirstDayPosition(year,month){ return new Date(year, month,1).getDay(); } //返回上一年的数据 function _handPreYear(){ console.log(1); var element = $('#'+setting.container_idName); var year = $('body').data('year'); var month = $('body').data('month'); //debugger; if(year){ year = year-1; }else{ year = parseInt($year)-1; } if(!month && month!=0){ month = $month; } $('body').data('year',year); _calcTableContent(year,month,element); } //返回上一个月的数据 function _handPreMonth(){ console.log(2); var element = $('#'+setting.container_idName); var year = $('body').data('year'); var month = $('body').data('month'); if(month || month==0){ month = month-1; if(month<0){ month =0; return; } }else{ month = parseInt($month)-1; } if(!year){ year = $year; } $('body').data('month',month); _calcTableContent(year,month,element); } //返回下一年的数据 function _handNextYear(){ console.log(3); var element = $('#'+setting.container_idName); var year = $('body').data('year'); var month = $('body').data('month'); //debugger; if(year){ year = year+1; }else{ year = parseInt($year)+1; } if(!month && month!=0){ month = $month; } $('body').data('year',year); _calcTableContent(year,month,element); } //返回下一个月的数据 function _handNextMonth(){ console.log(4); var element = $('#'+setting.container_idName); var year = $('body').data('year'); var month = $('body').data('month'); //debugger; if(month || month==0){ month = month+1; if(month>11){ month = 11; return; } }else{ month = parseInt($month)+1; } if(!year){ year = $year; } $('body').data('month',month); _calcTableContent(year,month,element); } function _operator(t){ /** switch(t){ case:'pre-year' break; caese 'pre-month' break; case: 'next-year' break; case: 'next-month' break; default: } */ } function _handClickCell(){ //$('.row '+setting.cell_selector).each(function(index, element) { $('.row '+setting.cell_selector).removeClass('highlight'); $(this).addClass('highlight'); //获取保存在a标签里面的数据 var $year = $(this).attr('data-year'); var $month = $(this).attr('data-month'); var $day = $(this).attr('data-day'); //设置年、月、日的值 console.log($year+'-'+$month+'-'+$day); $('#datepicker').val($year+'-'+(new Number($month)+1)+'-'+$day); // }); } function _handInputFocus(){ var datapicker = $('#datepicker')[0]; var position = getElementPos(datapicker); position.left -= 12; position.top += 32; //alert(position.left+'-'+position.top); $('#'+setting.container_idName).offset({left:0,top:0}); $('#'+setting.container_idName).offset(position); $('#'+setting.container_idName).show('fast'); } function _handInputBlur(){ //$('#'+setting.container_idName).hide(); //让div容器的left,top还原,要不然每次点击input的时候left,top都会在原来的基础上加 //$('#'+setting.container_idName)[0].style.left = 0; //$('#'+setting.container_idName)[0].style.top = 0; } function _handMouthOutCont(){ $('#'+setting.container_idName).hide(); //让div容器的left,top还原,要不然每次点击input的时候left,top都会在原来的基础上加 $('#'+setting.container_idName)[0].style.left = 0; $('#'+setting.container_idName)[0].style.top = 0; } function _handMouthOverCont(){ _handInputFocus(); } function getElementPos(elt){ var x=0,y=0; while(elt!=null){ x += elt.offsetLeft; y += elt.offsetTop; elt = elt.offsetParent; } return {top:x,left:y}; } })(jQuery);
html页面代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="calendar.css" rel="stylesheet">
<script src="jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="calendar.js" charset="gbk"></script>
<title>Calendar</title>
</head>
<body>
<div id="wrapper">
<h2 style="text-align:center;margin-top:30px;">jquery calendar插件</h2>
日期:<input type="text" id="datepicker"/>
<div id="container">
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
var opt = {
container_idName:'container'
}
$('#container').calendar(opt);
});
</script>
</body>
</html>
这个日期插件不完善,这只是最开始的版本。
效果图:
发表评论
-
jquery mobile tel call
2013-04-16 17:29 1415在jQuery mobile中,如果我们需要客户端手机 ... -
jQuery 瀑布流插件
2012-09-10 16:33 1476瀑布流布局在目前貌 ... -
jquery 制作幻灯片浏览图片
2012-08-26 12:10 1134jquery幻灯片的效果浏览 ... -
jQuery写的tab选项卡
2012-07-14 22:39 1178选项卡的主要原理是给每个标题栏注册事件,事件处理函数的作用就是 ... -
用jQuery的动画函数实现幻灯片的效果
2012-07-13 10:57 1235jquery的给我们提供了一 ... -
jQuery用面向对象的思想来编写验证表单的插件
2012-07-12 21:35 1235本人的重点是怎么构建一个简单有效可 ... -
Jquery实现返回顶部的功能
2012-06-04 23:51 1245<!DOCTYPE HTML PUBLIC " ... -
项目中常用的jquery 范例
2012-05-04 17:09 1353文会给你们展示50个jquer ... -
jquery 判断某个元素是否绑定 click事件
2012-05-04 16:38 2849判断 id为foo的元素上 是否绑定了click事件 ...
相关推荐
而“jquery日期插件”是jQuery生态中的一个重要组成部分,它为网页应用提供了丰富的日期处理功能,包括日期选择器、日期格式化、日期计算等,极大地提升了用户体验。在本篇中,我们将深入探讨jQuery日期插件的相关...
在本篇文章中,我们将深入探讨jQuery日期插件的原理、常见功能以及如何在项目中使用它们。 首先,jQuery 日期插件的核心目标是增强用户在网页上与日期进行交互的体验。这包括但不限于日期选择器、日期格式化、日期...
这篇内容将详细讲解jQuery日期时间插件的基本概念、功能特性、常见用法以及如何在项目中集成和自定义。 1. **基本概念**: - jQuery日期时间插件是一种JavaScript组件,通过jQuery库来实现日期和时间的选择器,...
- **易用性**:jQuery日期插件通常提供简单的API,易于理解和集成到项目中。 - **跨浏览器兼容**:由于jQuery库的跨浏览器特性,日期插件也能在多种浏览器中运行良好。 - **可扩展性**:通过插件机制,可以轻松添加...
总的来说,一个优秀的jQuery日期插件能够提升用户体验,减少开发者的工作量,同时提供强大的日期处理功能。对于这个“适合各种浏览器的jquery日期插件”,开发者可以期待其稳定、高效且易用的特性,以满足各种项目...
在IT领域,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互。本主题聚焦于"jQuery插件 简单...开发者可以查阅这些文件,理解并学习如何构建一个简单的jQuery日期选择插件。
**jQuery 日期插件及其用法详解** 在Web开发中,日期选择器是一个常见的功能,它使得用户能够方便地输入或选择日期。jQuery Datepicker 是一个流行的选择,它提供了丰富的功能和灵活的自定义选项。这个插件尤其适合...
综上所述,jQuery日期选择器插件通过简单易用的API和高度定制化的能力,为网页开发提供了一种高效、便捷的日期输入解决方案。通过深入理解其工作原理和使用技巧,开发者可以创建出更加友好的用户体验。在实际项目中...
描述中提到的“博文链接:https://leon1509.iteye.com/blog/684044”是一个外部资源,虽然具体内容未在当前信息中提供,但我们可以推测这可能是一个关于该jQuery日期插件的详细教程或者使用示例。通常,这种博客文章...
而"jquery日期选择插件"是jQuery生态中的一个重要组成部分,用于帮助开发者实现在网页上方便地添加日期选择功能。这类插件通常提供美观的界面、用户友好的交互以及灵活的配置选项,以满足不同项目的需求。 日期选择...
而“jQuery日期选择插件”是用于在网页上添加日期选择功能的工具,极大地提升了用户体验。其中,“datapicker”是这类插件的一个实例,它允许用户方便地选择日期,常见于表单输入、日程安排或时间记录等应用场景。 ...
本篇文章将详细介绍一种常用于前端开发的jQuery日期插件及其特点。 标题中提到的“常用的jQuery日期插件”,可能是指jQuery UI中的Datepicker插件,它是一款功能强大且用户友好的日期选择工具。Datepicker插件允许...
【标题】"简单jQuery日期日历插件代码.zip" 是一个包含实现基本日期选择功能的jQuery插件资源包。这个插件可能适用于那些希望在网页上添加日期选择功能,但又不想投入大量时间进行复杂开发的开发者。它利用了jQuery...
总之,"jQuery手机移动端日期时间选择插件"是一个方便开发者在移动设备上实现高效日期和时间输入的工具,它的灵活性和易用性使其成为许多移动应用开发者的首选解决方案。通过合理地利用这个插件,开发者可以创建出...
在自定义选项方面,jQuery日期插件提供了丰富的配置项,包括但不限于: 1. `startDate`和`endDate`:设置允许用户选择的日期范围。 2. `showOn`:指定触发日期选择器的方式,如“focus”(聚焦)或“both”(点击和...
而"jquery日期插件"则意味着这个插件扩展了jQuery的功能,让日期处理变得更加简单。 在实际应用中,你可以根据项目需求调整插件的配置,比如更改日期格式、设定可选日期范围、添加自定义事件等。此外,由于这是一个...