javascript - 循环绘制许多 Canvas ?

标签 javascript jquery html canvas html5-canvas

我有这个命令可以完美地工作,正如我想要的:http://jsfiddle.net/m1erickson/64BHx/

所以我不知道会这么难,所以在这里画画:

http://www.afriquinfos.com/fotografias/fotosnoticias/2012/2/10/int-26146.jpg

好吧,我尝试做的是以下内容:你们可以在这个链接上观看:http://jsfiddle.net/whm3n/

  • 我创建了 5 个 Canvas ,这将是上面 drawingcanvas 中的数字
  • 在 javascript 的数组中,他是否一次获得了所有 Canvas
  • 点击后打算显示该类的内容, 关于(支持,登录...)的警告

我觉得问题出在这里:

  for(b=0;b<6;b++){

var canvas + '_' + b = document.getElementById("canvas");
var context + '_' + b  = canvas.getContext("2d");
var $canvas + '_' + b  = $("#canvas");
var canvasOffset + '_' + b  = $canvas + '_' + b.offset();
var offsetX + '_' + b  = canvasOffset + '_' + b.left;
var offsetY + '_' + b  = canvasOffset + '_' + b.top;

}

有人可以帮助我吗?

最佳答案

如果你想使用动态变量名,我建议你使用数组表示法。 试试这个:

var canvas = [],
    context = [],
    $canvas = [],
    canvasOffset = [],
    offsetX = [],
    offsetY = [];

for ( b = 0; b < 6; b++ ) {
    canvas[b] = document.getElementById("canvas_" + b),
    context[b]  = canvas[b].getContext("2d"),
    $canvas[b]  = $("#canvas_" + b),
    canvasOffset[b]  = $canvas[b].offset(),
    offsetX[b]  = canvasOffset[b].left,
    offsetY[b]  = canvasOffset[b].top;
}

这是你的 fiddle :http://jsfiddle.net/whm3n/2/

它应该可以帮助您从这里继续。

关于javascript - 循环绘制许多 Canvas ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21390068/

相关文章:

java - 如何用 JSF 实现 JQuery 确认对话框

javascript - CasperJS 不发出我的 AJAX 请求

html - 使用相对 URL 的 Over the Air iOS Adhoc Build

javascript - 从产品 View 中删除字符 "$"

php - 通知 : Undefined index in php

html - 使用 css/javascript 的流体/自动对齐 block /框列表

javascript - 创建自定义 block 并编写代码以在 Android 上生成 Javascript 代码

javascript - 动态创建的按钮上的单击事件

javascript - 根据 mySQL 数据库中的数据动态更改 svg 图像元素

javascript - 基于 URL 参数的当前选项 "selected"