jquery24

大哥大姐,打扰一下,jquery24
最新回答
丸子头

2024-12-01 05:44:06

用Jquery写一个开始时间与结束时相差不能超过24小时的验证。

!--?以下代码放到?.html?文件,用浏览器打开就有效果,注释也写了,自己要理解?--

!DOCTYPE?html

html??

head?

????title校验时间/title?

/head

body???

!--?input?使用?onblur,失去光标的时候,调用方法?check()?--

????input?id="begindate"?value="2015-1-1?13:00:00"?onblur="check()"?/

????input?id="enddate"?value="2015-1-2?13:00:01"?onblur="check()"?/

/body

/html

script?type="text/javascript"

//?光标默认选中?enddate

document.getElementById("enddate").focus();

//?校验时间

function?check(){

try{

//?获取时间

var?begindate?=?document.getElementById("begindate").value;

var?enddate?=?document.getElementById("enddate").value;

var?begin?=?changeDate(begindate);

var?end?=?changeDate(enddate);

//?获取毫秒

checkDate(begin,end);

}?catch?(e)?{

alert(e.message);

}

}?

//?传入两个时间参数

function?checkDate(begindate,enddate){

try?{?

//?获取毫秒

var?beginsecond?=?begindate.getTime();

var?endsecond?=?enddate.getTime();?

var?days?=?(endsecond-beginsecond)/(24*3600*1000);

if(days1){

alert("超过24小时");

}else{

alert("没有超过24小时");

}

}?catch?(e)?{

alert("比较时间出错,原因:"?+?e.message);

}

}

//?如果你的时间是字符串?yyyy-MM-dd?hh:mm:ss?,下面函数可以转成时间

function?changeDate(str){?

try{

var?newstr?=?str.replace(/-/g,'/');?

return?new?Date(newstr);

}catch?(e){

alert("转换时间出错,原因:"?+?e.message);

}

}

/script

用jquery编写12小时制显示当前系统时间

function?nowTime(ev,type){?

?????/*?

??????*?ev:显示时间的元素?

??????*?type:时间显示模式.若传入12则为12小时制,不传入则为24小时制?

??????*/

?????//年月日时分秒?

?????var?Y,M,D,W,H,I,S;?

?????//月日时分秒为单位时前面补零?

?????function?fillZero(v){?

?????????if(v10){v=0+v;}?

?????????return?v;?

?????}?

?????(function(){?

?????????var?d=new?Date();?

?????????var?Week=[星期天,星期一,星期二,星期三,星期四,星期五,星期六];?

?????????Y=d.getFullYear();?

?????????M=fillZero(d.getMonth()+1);?

?????????D=fillZero(d.getDate());?

?????????W=Week[d.getDay()];?

?????????H=fillZero(d.getHours());?

?????????I=fillZero(d.getMinutes());?

?????????S=fillZero(d.getSeconds());?

?????????//12小时制显示模式?

?????????if(type??type==12){?

?????????????//若要显示更多时间类型诸如中午凌晨可在下面添加判断?

?????????????if(H=12){?

?????????????????H=上午?+H;?

?????????????}else?if(H12??H24){?

?????????????????H-=12;?

?????????????????H=下午?+fillZero(H);?

?????????????}else?if(H==24){?

?????????????????H=下午?00;?

?????????????}?

?????????}?

?????????ev.innerHTML=Y+年+M+月+D+日?+?+W+?+H+:+I+:+S;?

?????????//每秒更新时间?

?????????setTimeout(arguments.callee,1000);?

?????})();?

}

jQuery的历史版本

(2007年9月):这一版去掉了对XPath选择符的支持,原因是相对于CSS语法它已经变得多余了。这一版能够支持对效果的更灵活定制,而且借助新增的命名空间事件,也使插件开发变得更容易。

jQueryUI(2007年9月):这个新的插件套件是作为曾经流行但已过时的Interface插件的替代项目而发布的。jQueryUI中包含大量预定义好的部件(widget),以及一组用于构建高级元素(例如可拖放的界面元素)的工具。(2010年1月14号):对代码库进行了内部重写组织,开始建立一些风格规范。老的core.js文件被分为attribute.js,css.js,data.js,manipulation.js,traversing.js和queue.js;CSS和attribute的逻辑分离。

⒈4重要新特性

·常用方法的性能大幅提升:重写了大部分较早期的函数;

·更容易使用的设置函数(setterfunction):为所有对象新增了许多易用的设置函数;

·对Ajax的改进:引入了许多Ajax和JSON处理方面的更新,包括HTML5元素的序列化;

·attribute(改进了.attr()的性能)、jQuery()核心函数、CSS(.css()性能有两倍提升)、特效和事件、DOM操作等也有显著改进(2011年1月31日):该版本修复了83个bug,解决了460个问题。重大改进有:重写了Ajax模块;新增延缓对象(DeferredObjects);jQuery替身——jQuery.sub();增强了遍历相邻节点的性能;jQuery开发团队构建系统的改进。

1.5新版本

美国时间2011年1月31日JohnResig在jQuery官方博客发表文章,宣布jQuery1.5正式版已经如期开发完成,可以下载使用。压缩版本jQueryMinified29KB,不压缩版本jQueryRegular(用于阅读和调试)207KB。由于jQuery已经成为目前最流行的JavaScript库,得到广泛的支持,新版本的发布当然非常引人注目。

重要变化:

1.Ajax重写

Ajax模块完全进行了重写。新增一个jXHR对象,为不同浏览器内置的XMLHttpRequest提供了一致的超集。对于XMLHttpRequest之外的传输机制,比如JSONP请求,jXHR对象也可以进行处理。(详情可以参见:jQuery.ajax文档)

此外,系统的可扩展性大大增强,可以附加各种数据处理器、过滤器和传输机制,为开发新的Ajax插件提供了方便。

2.延迟对象

延迟对象(DeferredObject,jQuery.Deferred对象)是一个可链接的(chainable)实用工具对象,实现了Promise接口,可以在回调队列中注册多个回调、调用回调队列并转发任何同步/异步函数的成败状态。正如UsingDeferredsinjQuery1.5一文中说明的,其结果是在jQuery中能够将依赖于某个任务(事件)结果的逻辑与任务本身解耦了。这一点在JavaScript中其实并不新鲜,Mochikit和Dojo等已经实现有些日子了。由于jQuery1.5的Ajax模块内置使用了延迟对象,因此通过jQuery编写Ajax程序将自动获得这一功能。

开发人员借此可以使用无法立即获得的返回值(如异步Ajax请求的返回结果),而且第一次能够附加多个事件处理器。

例如,使用了新的jQuery内部AjaxAPI就可以实现下面的代码了:

//Assignhandlersimmediatelyaftermakingtherequest,//andrememberthejxhrobjectforthisrequestvarjxhr=$.ajax({url:example.php}).success(function(){alert(success);}).error(function(){alert(error);}).complete(function(){alert(complete);});//performotherworkhere...//Setanothercompletionfunctionfortherequestabovejxhr.complete(function(){alert(secondcomplete);});

此外,使用jQuery.Deferred还可以开发自己的延迟对象。更多详情参见:延迟对象文档。

3.jQuery.sub()

jQuery1.5提供了一种创建和修改jQuery副本的方式。可以用来添加不向外部公开的方法,或者对jQuery的某些方法进行重新定义以提供新功能,或者提供更好的封装、避免名称空间冲突。当然,也可以用来开发插件,但Resig强烈建议在开发插件之前,先考虑jQueryUIwidget工厂。

值得注意的是,sub函数并不提供真正的隔离,所有方法、数据、调用仍然依靠jQuery本身来支持。

4.遍历性能提高

在新版本中.children(),.prev(),.next()几个常用的遍历函数性能有了显著提高。

5.内部开发系统

JohnResig还特别提到了jQuery团队内部开发系统的两点改变:一是服务器端用Node.js替换了老的Java/Rhino系统,使得团队可以专注于JavaScript环境的新变化;二是所用的代码优化程序从GoogleClosure切换到UglifyJS,新工具的压缩效果非常令人满意。

jQuery1.5.2在1.5的基础上修正的大量的bug

jQuery1.7b2011年09月29日jQuery1.7的第一个beta测试版本,该版本修复了超过50个的问题以及带来一些新特性。

2011年11月4日jQuery1.7正式版发布。

新版本包含了很多新的特征,特别提升了事件委派时的性能尤其是在IE7下。

新增及改进项:

⒈新的事件APIs:.on()and.off();

⒉提升了事件委派时的性能有了大幅度的提升,尤其是在IE7下;

⒊更好的在IE6/7/8上支持HTML5;

⒋切换动画更加直观;

⒌匿名模块定义AWD

⒍jQuery.Deferred

⒎jQuery.isNumeric()

被删除的方法:

event.layerXandevent.layerY

jQuery.isNaN()2012年03月24日jQuery1.7.2正式版发布。

该版本在1.7.1的基础上修复了大量的bug,并改进了部分功能。而相比于1.7.2RC1,只修复了一个bug。值得注意的是:如果你正在使用jQueryMobile,请使用最新的jQuery1.7.2和jQueryMobile1.1这两个版本,因为之前的jQueryMobile版本还基于jQuerycore1.7.1或更早的版本。2012年11月14日jQuery1.8.3发布,修复bug和性能衰退问题

IE8中的HTML相关Bug

jQuery1.8.2在IE9中调用ajax失败的问题

jQuery1.7.1不能正确地设置IE7中克隆元素的tabindex属性

压缩的JS文件包含非ASCII字符

如果body样式设置为display:none,则$('body').show()无法工作

在IE9中element.css('filter')返回不明确

在Android2.3.4的浏览器中,jQuery1.8.1转场效果崩溃

在iPad上缩放一个灯箱效果后,所有动画效果失效

从1.3.2升级到1.8.2版本后,出现UncaughtTypeError错误

在Chrome和Safari中,无法正确检测包含可编辑内容的DIV的焦点2013年3月jQuery2.0Beta2发布

据jQuery官方博客3月消息,jQuery2.0Beta2发布。

根据用户对jQuery2.0Beta1版本的反馈,Beta2版做了一些修改。jQuery官方表示,非常需要用户来测试Beta2版,最好同时也能向他们反馈提交建议。

他们相信,Beta2版已非常稳定,值得一试,不需要等2.0的最终版本。

jQuery团队在官博中再次提醒用户,jQuery2.0不再支持IE6/7/8了,但是jQuery1.9会继续支持。因为旧版IE浏览器在整个互联网中还有很大部分市场,所以他们非常期望大部分网站能继续使用jQuery1.x一段时间。jQuery团队也将同时支持jQuery1.x和2.x。1.9和2.0版的API是相同的,所以不必因为你们网站还在用jQuery1.9,就感觉好像错过了什么,或者是落后了。

如果你想继续支持IE6/7/8,并且又想尝试jQuery2.0,那你可以额外加上一些代码。除了老版的IE,其他所有浏览器都将使用第二脚本,忽略第一个。

在很多环境中,jQuery2.0应当都表现的很好。如下:

GoogleChromeplugins

MozillaXULappsandFirefoxextensions

FirefoxOSapps

ChromeOSapps

Windows8Store(“Modern/MetroUI”)apps

BlackBerry10WebWorksapps

PhoneGap/Cordovaapps

AppleUIWebViewclass

MicrosoftWebBrowsercontrol

CheerioorjsdomwithNode.js

Intranetapplications

2013年4月18日jQuery2.0正式版发布不再支持IE6/7/8:如果在IE9/10版本中使用“兼容性视图”模式也将会受到影响。更轻更快:2.0版本文件与1.9.1相比小了12%。可以构建一个更小、更轻量的版本。jQuery2.0API完全兼容jQuery1.9API。jQuery1.9.1汉化版2013年2月23日发布,由网友翻译非官方2014年5月1日,jQuery2.1.1版发布