【发布时间】:2013-09-17 05:39:03
【问题描述】:
更新:我编辑了 setTimeout() 代码以在函数内运行代码,但现在根本没有运行。我还将函数更改为接受drawcount、i 和j,调用appendcharacter(drawcount, i, j)。它仍然什么都不做(尽管最初它是同时运行的)。出于某种原因,setTimeout 在超时后没有正常运行函数。
--原始问题--
我有以下代码(请注意,并非所有变量都列出,只是相关的或与这部分代码有关的变量)。我想错开appendcharacter(drawcount) 的运行,以便它以半秒为间隔运行,但这段代码同时运行所有内容:
var $span, $br;
var $img = $('#image');
$(document).ready(function () {
var drawcount = 0;
for (var j = 0; j < imgwidth; j++) {
$("#image").append("<br>");
for (var i = 0; i < imgheight; i++) {
var timeout = 500 * drawcount;
console.log(timeout);
setTimeout(function () {
appendcharacter(drawcount, i, j);
},timeout);
drawcount++;
}
}
function appendcharacter(drawcount, i, j) {
$span = $("<span id='" + i + "_" + j + "' style='position:relative; display: inline; color: rgba(" + pixels[j][i].red + " , " + pixels[j][i].green + " , " + pixels[j][i].blue + ", 1);'></span>").appendTo($img);
switch (drawcount % 18) {
case 0:
$("#" + i + "_" + j).append("/");
break;
case 2:
$("#" + i + "_" + j).append("-");
break;
case 3:
$("#" + i + "_" + j).append("/");
break;
case 4:
$("#" + i + "_" + j).append("-");
break;
case 5:
$("#" + i + "_" + j).append("/");
break;
case 6:
$("#" + i + "_" + j).append("-");
break;
case 7:
$("#" + i + "_" + j).append("(");
break;
case 8:
$("#" + i + "_" + j).append("8");
break;
case 9:
$("#" + i + "_" + j).append("8");
break;
case 10:
$("#" + i + "_" + j).append(")");
break;
case 11:
$("#" + i + "_" + j).append("-");
break;
case 12:
$("#" + i + "_" + j).append("\\");
break;
case 13:
$("#" + i + "_" + j).append("-");
break;
case 14:
$("#" + i + "_" + j).append("\\");
break;
case 15:
$("#" + i + "_" + j).append("-");
break;
case 16:
$("#" + i + "_" + j).append("\\");
break;
case 17:
$("#" + i + "_" + j).append(" ");
break;
}
}
});
【问题讨论】:
-
appendcharacter(drawcount)立即调用该函数。阅读:stackoverflow.com/q/14791158/139010 和/或stackoverflow.com/q/3583724/139010 -
它们相隔 500 毫秒,因此是
500 * drawcount。我修复了另一个错误。现在它根本没有运行。
标签: javascript jquery