草庐IT

栈和队列(stack和queue)

全部标签

javascript - 在javascript中执行函数队列

我正在尝试创建一个包含多个函数的函数队列。创建后,我想依次执行每个功能。但是这些函数内部有延迟指令,所以我想等待每个函数完成执行后再继续。我的尝试:varfunqueue=[];funqueue.push(function(){fun1()});funqueue.push(function(){fun2()});funqueue.push(function(){fun3()});executeFunctionQueue(funqueue);执行函数在哪里:functionexecuteFunctionQueue(funqueue){varfun1=funqueue.pop;$.when

charts - Javascript 中的条形图 : stacked bars + grouped bars

我正在寻找一种Javascript解决方案,以将分组和堆叠条形图与漂亮的图形混合在一起,例如Protovis提供的那些。.例如,如果我想比较Apple(iPads+iPhone)设备和Android设备上的下载量,我可能有(请原谅我糟糕的ascii艺术)60k|^50k|#^^40k|##^#^30k|@#^^#^20k|@^#^#^@^10k|@^@^@^@^=================JanFebMarAprLegend#:iPadDownloads@:iPhoneDownloads^:AndroidDownloads 最佳答案

javascript - Javascript 事件队列有优先级吗?

这几天看了一些关于setTimeout和setInterval的文档。我了解到Javascript是一个单线程,每次只执行一段代码。同时,如果有事件发生,将被插入事件队列并阻塞直到合适的时间。我想知道,当许多事件被阻塞等待同时执行时。这些事件是否具有不同的优先级,因此高优先级事件将在低优先级事件之前执行。或者只是一个FIFO队列。setTimeout(fn1,10);$(document).click(fn2);//willbecalledat6ms;$.ajax({ajaxSuccess(fn3);//asyncrequest,ituses7ms;})for(){//willrun1

javascript - 队列 AJAX 调用

您好,我正在做一个水平滚动网站,例如:http://vanityclaire.com/但是,在加载主页之后,我没有一个大的HTML文件,而是使用jQuery.load()在家里的child中使用ajax。目前我在标题中的url中查找每个div和ajax。但是AJAX返回时乱序,并且当我添加更多页面时,我不希望spanging服务器有30多个http://请求。我如何同步执行AJAX调用,即在请求另一个之前等待第一个返回,或者一次发送两个。我一直在搜索,无法弄清楚我需要什么。这是我的HTML:HOMEPAGECONTENT还有我的JS:functions_loadingInitialPa

javascript - jQuery 队列事件

所以我想做的是使用jQuery为我正在处理的一些AJAX调用协调一些效果。我的问题是第二个div的fadeIn与第一个div的fadeOut同时触发。这也适用于其他事件,所以我很好奇,是否有任何方法可以让fadeId仅在fadeOut完成后启动?jQuery("#div1").fadeOut("slow");jQuery("#div2").fadeIn("slow");谢谢 最佳答案 这对于快速动画来说通常已经足够了,但是如果你想排队一些效果,你也可以像这样使用queue()和dequeue()方法:$("#div1").fadeO

javascript - javascript 中类似信号量的队列?

我有一个变量can_run,它可以是1或0,然后我有一个函数队列,一旦变量从0到1(但一次只有1个这样的函数)。我现在做的是varcan_run=1;functionwait_until_can_run(callback){if(can_run==1){callback();}else{window.setTimeout(function(){wait_until_can_run(callback)},100);}}//...somewhereelse...wait_until_can_run(function(){can_run=0;//startrunningsomething})

javascript - JSpec - 范围错误 : Maximum call stack size exceeded

我两次尝试将消息发布到JSpecGoogleGroup显然失败了,我在这里发帖。我在使用JSpec时遇到了问题显然通过某种测试进入无限递归循环(如下)。有任何想法吗?我的代码有问题还是JSpec?我正在通过RubyGem运行JSpec2.11.2。错误是“RangeError:超出最大调用堆栈大小。”(Safari)和“内部错误:递归过多”(FF/Mac)。我可以使用Firebug控制台将项目添加到房间,没有任何错误。要重现该问题,请使用“jspecinittest”创建模板jspec项目。然后像这样编辑以下文件:你的lib.core.jsvarGame={};Game.item=fu

javascript - maxLines 选项是否不适用于底部 Stacked Bar Google Chart 上的图例?

我正在实现StackedBarGoogleChart。我发现当我的类别跨越多行并且图例位于顶部时,图例将换行到多行,由hAxis变量上的maxLines选项控制。但是,如果我将图例移到底部,图例将不再换行,而是提供类别的分页View。这与图例位于顶部且maxLines选项设置为1时的行为相同。这是我的fiddle.顶部图表的顶部有图例,底部图的顶部有图例...我这样做是为了方便...google.load('visualization','1',{packages:['corechart','bar']});google.setOnLoadCallback(drawBasic);fun

javascript - 将数组缓冲区转换为字符串 : Maximum call stack size exceeded

这是我的代码。varxhr=newXMLHttpRequest();xhr.open('GET',window.location.href,true);xhr.responseType="arraybuffer";xhr.onload=function(event){debugger;console.log("covertingarraybuffertostring");alert(String.fromCharCode.apply(null,newUint8Array(this.response)));};xhr.send();该请求是针对大小约为3MB的PDFURL发出的。我读过几

javascript - 未捕获的 RangeError : Maximum call stack size exceeded, JavaScript

我有一个问题open:function($type){//Somecodedocument.getElementById($type).addEventListener("click",l.close($type),false);},close:function($type){//Thereissomecodetoodocument.getElementById($type).removeEventListener("click",l.close($type),false);//^Recursion&UncaughtRangeError:Maximumcallstacksizeexce