要不是被逼到无奈的地步,我也不想弄这么复杂。 那帮做java开发的真不好沟通,本来他们那边处理好了给我一个完整的数据结构就可以了,但是现在我拿到他们给的不完整的数据结构,还需要根据每次解析遍历的值去额外请求数据,如果直接发起异步请求,代码写的又不太优雅;如果发同步请求,服务一直处于等待状态,体验性又不太好。
基于这样的前提,我就想到了用队列来实现,算是稍微优雅一点吧
Js代码部分:
// 定义函数执行队列 var aFun = []; $(function(){ $("input[name='test']").click(function(){ begin_queue(); $(document).queue("testQueue", aFun); $(document).dequeue("testQueue"); }); }); //初始化队列 function begin_queue() { var obj = $("input[type='hidden']"); obj.each(function(i){ var $this = $(this), $val = $this.val(); var queue_fun = function(){ callback($this, $val); }; //压入函数队列 aFun.push(queue_fun); }); } //每次遍历回调处理 function callback(elm, data) { var str = $("#queue").html() + elm.attr("no") + ":" + data * data + "<br>"; $("#queue").html(str); //继续执行队列中下一个函数 $(document).dequeue("testQueue"); }
HTML结构部分:
<div id="queue"></div> <input type="hidden" class="required" name="star.key" no="1" value="1" /> <input type="hidden" class="required" name="star.key" no="2" value="2" /> <input type="hidden" class="required" name="star.key" no="3" value="3" /> <input type="hidden" class="required" name="star.key" no="4" value="4" /> <input type="hidden" class="required" name="star.key" no="5" value="5" /> <input type="hidden" class="required" name="star.key" no="6" value="6" /> <input name="test" type="button" value="Start" />
运行效果:
相关推荐
《jQuery经典Demo详解:探索30个精彩实例》 jQuery,作为一款强大的JavaScript库,以其简洁的API和高效的功能,深受Web开发者的喜爱。这里我们聚焦于30个经典的jQuery Demo,它们涵盖了从基础交互到复杂动画的各种...
Demo通常包含HTML、CSS和JavaScript文件,通过查看和修改代码,你可以深入理解jQuery动画的工作原理,并将其应用到自己的项目中。 通过实践和实验,你会发现jQuery的动画功能不仅可以提升用户体验,还能为网页设计...
由于它基于jQuery库,因此可以方便地与现有的jQuery应用程序集成,为用户提供无缝的文件上传体验。 ### Plupload的核心特性 1. **跨浏览器兼容性**:Plupload支持所有主流浏览器,包括Internet Explorer(从6.0...
3. **AJAX交互实例**: 展示了如何使用jQuery进行异步数据请求。 4. **插件应用**: 可能包括了第三方插件的集成和使用。 通过运行这些代码示例,你可以更直观地理解jQuery的用法,并结合视频教程加深理解。同时,...
2. **Queue Demo**:队列管理示例,演示了如何处理文件队列,包括添加、删除和暂停文件上传。 3. **Upload Progress Bar**:上传进度条示例,展示了如何实时更新上传进度,并呈现给用户。 4. **Custom Buttons**:...
本篇文章将深入探讨jQuery的核心概念、常见用法及其实战应用,旨在帮助读者从零开始学习并熟练掌握jQuery。 一、jQuery简介 jQuery是由John Resig在2006年创建的,其目标是“write less, do more”。jQuery以其简洁...
本文将深入探讨“jQuery例子大全”中涵盖的关键知识点,旨在帮助读者更好地理解和应用jQuery,提升Web开发效率。 一、jQuery的选择器与遍历 jQuery的核心功能之一就是高效地选择DOM元素。在“demo”文件中,你可以...
关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素。 jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。 选择器允许您对 HTML 元素组或单个元素进行操作。 在 ...
【标题】"jQuery左侧浮动层热门新闻列表滑动动画展示"是基于JavaScript库jQuery实现的一种...通过深入研究这个实例,你可以提高自己的jQuery技能,同时也可以学习如何创建自己的自定义插件,从而提升你的Web开发能力。
在"jQuery_Demo"这个项目中,我们将深入探讨jQuery的核心特性,以便更好地理解和应用到实际的Web开发中。 ### 1. DOM操作 DOM(Document Object Model)是HTML和XML文档的结构化表示,jQuery提供了方便的API来操作...
这个"基于PNotify的轮询Demo"是展示如何结合PNotify实现定时轮询更新通知功能的一个实例。下面将详细解释PNotify的基本概念、其在轮询中的应用以及如何实现这样的功能。 首先,PNotify是一个轻量级的库,它使用...
`demo.html`是一个示例文件,展示了如何在实际应用中使用这个AJAX队列类。它可能包含了如何实例化队列对象、添加请求、设置并发限制以及定义回调函数的代码片段。通过查看这个示例,开发者可以快速理解如何将这个库...
动态修改实例设置 接收服务端返回的数据 (只针对Flash 9 版本) 非取消形式的停止文件上传 自定义上传的顺序 支持单文件、多文件的文件的选择 文件入队数量,文件上传数量和文件大小的限制 更合理地处理0字节的...
同时,需要引入jQuery、Bootstrap和WebUploader自身的JavaScript库,以及`uploader_demo.js`,这个文件通常包含了WebUploader的初始化配置和事件处理函数。 前端页面中,一个典型的WebUploader实例化区域可以是这样...