2

我使用 jcanvas 插件进行 2d tagcloud 研究。我希望我可以在画布上绘制几个标签,每个标签都链接到不同的页面。所以,我需要一个 for 循环来显示标签,这是我的代码。

 for(i=1;i<=5;i++){

    $("canvas").drawText({
      layer: true,
      fillStyle: "#9cf",
      strokeStyle: "#000",
      strokeWidth: 1,
      x: 100, y: 30*i,
      text: "tag"+i,
      font: "20pt 'Trebuchet MS', sans-serif",

      // Event bindings
      mouseover: function() {
        $("canvas").css({cursor: "pointer"});
      },
      mouseout: function() {
        $("canvas").css({cursor: "default"});
      },
      // Click link to open it
      click: function(layer) {
        window.open("http://www.google.com/?"+i);
      }
    });
 }

但事实证明,每个标签都链接到同一个 url,这不是我期望的结果。这里的任何人都可以帮助我!多谢 !!!

你可以在这里测试它。

4

1 回答 1

1

添加属性 ID(或任何其他名称)并更改功能。
...
font: "20pt 'Trebuchet MS', sans-serif",
id: i,
...
click: function(data) { window.open("http://www.google.com/?"+data.id); }

于 2012-10-17T04:08:38.390 回答