位置: 编程技术 - 正文
推荐整理分享jQuery中借助deferred来请求及判断AJAX加载的实例讲解(jquery deferred对象),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:jquery deffered,jquery的deferred,在jquery中fadein,jquery deffered,jquery deffered,jquery的deferred,jquery的deferred,jquery的deferred,内容如对您有帮助,希望把文章链接给更多的朋友!
ajax请求异步队列加载我们在开发程序的时候通常会碰到使用ajax加载数据显示到列表的情况。ajax默认使用异步加载(async:true)。为什么不使用同步呢,因为ajax同步加载会UI渲染线程阻塞的问题。通常表现为在加载大量数据时由于加载时间过长导致页面不能点击、gif动画卡死以及浏览器崩溃等问题。所以,一般情况下,尽量使用ajax异步加载。可是,我们有些时候的需求要求ajax同步加载,一个加载完再加载下一个,即所谓的队列。前面我们有说过,同步加载会引起UI渲染阻塞问题。那么我们要怎么实现顺序加载而不引起该问题呢?示例代码一:
PHP后台代码:
当然,jquery也提供了我们deferred对象来解决回调函数的问题。示例代码二:
这里首先创建一个deffered对象,在ajax的success函数中将ajax返回的数据保存在deffered对象中,然后返回deffered对象。这样就保证了在下一次ajax请求的时候这个ajax已经请求完成。deferred对象的好处包括它允许你给一个事件自由添加多个回调函数。或者给多个事件统一指定回调函数。
用jquery的deferred对象实现判断页面中所有图片加载完成如果我们加载的是图片,对于图片是否加载完成,我们平时可以用监听图片load 方法来进行。今天主要介绍用jquery的deferred对象来进行判断。关于jquery的deferred对象,是jquery的重点和难点。对于执行较长时间的函数,我们通常用deferred对象。关于deferred对象,我在这里稍微介绍一下$.when().then()
可以同时调用多个ajax,然后通过then来返回成功或者失败。
或者
我们回到正题来,用jquery的deferred对象实现判断页面中所有图片加载完成
因为 $.when 支持的参数是 $.when(dfd1, dfd2, dfd3, ...),所以我们这里使用了 apply 来接受数组参数。
上面提到了apply(),又引申到了 在JS中,call()方法和apply()方法
我在这里稍微介绍一下apply()
假如我们有prints函数:
或者我们可以这么写:
JQuery点击事件回到页面顶部效果的实现代码 JQuery点击事件回到页面顶部效果的实现代码//2个div,点击某个时回到顶部divstyle="height:px"/divdivid="top"top/div引用JQueryscripttype="text/javascript"$(f
通过jquery-ui中的sortable来实现拖拽排序的简单实例 1.引入文件scriptsrc="{sh::PUB}js/jquery-1..1.min.js"/scriptlinkrel="stylesheet"href="Public/css/jquery-ui.min.css"scriptsrc="{sh::PUB}js/jquery-ui.min.js"/script2.给元素附上sortable类tbody
基于JQuery实现图片上传预览与删除操作 本文实例为大家分享了JQuery实现图片上传预览与删除的具体代码,经测试目前满足谷歌、火狐、、IE6,7,8,9,,等浏览器,供大家参考,具体内容如下1.
友情链接: 武汉网站建设