![](/img/trans.png)
[英]jQuery javascript: How do I stop the ongoing animation from running when window is resized?
[英]How do I write an ongoing process in javascript?
假设我有一个数组,用户可以一次从一个网站输入数据。 因此,该阵列一次只能增长一个。 我想要一个正在进行的过程,该过程将获取数组的长度,如果它为正数,则打印并拼接数据,然后设置setTimeout(1000),然后继续运行。 因此,如果数组没有任何内容,则什么也不做,并且每当将某些内容放入数组中时,由于数组是非空的,因此必须要执行某些操作。
那么我该怎么做呢?
抱歉,如果解释令人困惑...
我尝试使用while(true),但是那只会消耗内存,所以我不确定还有什么要做的(线程?)。 请帮助。 谢谢!
我不是在寻找事件监听器。 我想存储数据并每隔一段时间发布一次。 事件监听器填充了数组,但是我知道如何做到这一点。 我不知道循环将如何执行。
那一些事件处理程序呢? 如果我正确理解了您的问题,那么您就不需要正在进行的流程。 您想使用事件处理程序对用户输入做出反应。
Google在其异步Analytics(分析)脚本中使用了智能数组推送机制:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'xxx-yyy-zzz']);
_gaq.push(['_trackPageview']);
这将创建一个空队列数组,或者如果尚未处理以前的数据,则使用现有的队列数组。
主脚本http://www.google-analytics.com/ga.js包含一个setTimeout循环,该循环检查队列数组是否包含数据,如果包含,则进行处理。
您可以使用类似的机制:只需检查队列中的新元素,进行处理,然后在完成后清除队列数组。
您可以使用setTimeout
和全局数组来实现所需的功能,也可以采用现代方式。
德里克! 认识JavaScript jQuery事件对象 ! 这是它时代最好的! 庄稼的奶油! 人类成就的奇迹! 它会帮助您制作一个Web应用程序。
这是一个教程 。 并概述了您可能想要的东西:
$(document).ready(function() {
$('input[text]').change(function() {
alert($(this).attr('value'));
});
});
还是像这样的递归计时器?
var z=[ 'Mazda',
'Totyota',
'Honda',
'Suzuki'
];
var job = function()
{
document.write(z.pop());
setTimeout(job, 1000); // run every second
}();
好的, for
循环将为您提供帮助(您的数组存储在window.yourArray
):
for (var i=0; i < window.yourArray.length; i++){
alert(window.yourArray[i]);
}
或更简单:
for (a in window.yourArray){
alert(a);
}
这些循环比while(true)
循环要好得多,因为它们的寿命有限(基于数组中元素的数量)。 您应该使用setTimeout
定期运行这些循环之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.