建立一个网格的圆圈与文本内部和…移动东西
Building a grid of circles with text inside and... moving things around
我正在拼命地尝试建立一个圆圈和文本里面的网格。到目前为止一切顺利,我能做到……我真正的问题是能够找到每一组并移动它周围(文本和圆圈)。我试着研究类似的问题,但我自己找不到……如果有人能给我一个提示,我将不胜感激。
下面是一个不能工作的简化代码(只有1行):
$(function() {
// Prepare drawing zone
var paper = Raphael(document.getElementById('question'), '100%', '100%');
var word = 'Sunday';
var group = new Array();
// Draw 5 circles with text inside
for (i=0; i<5; i++) {
group[i] = paper.set();
group[i].push(paper.circle(50+i*60, 50, 30));
group[i].push(paper.text(50+i*60, 50, word));
group[i].click(function() {
group[i].translate(20,20); // HERE'S THE PROBLEM group[i] DOESN'T WORK !
group[i].rotate(Math.random() * 90);
});
}
});
我找不到一种方法来"调用"我的集合以作进一步参考…当然,如果我只有一个set(没有array=),它可以工作…
谢谢你的帮助!
Celfred .
编辑:jsfiddle: http://jsfiddle.net/rrWqM/
编辑:我不确定我是否足够清楚。我想要的是能够点击1圈(和文字),并看到这个圆圈和文字移动。如果我点击另一个,那么另一个就会移动…这听起来太简单了,我简直不敢相信我被它困住了……谢谢你的帮助。
这是一个[提琴][http://jsfiddle.net/DusKv/1/]
代码中的问题是,当调用click回调函数时,i变量没有正确的值。您可以通过在封闭作用域中定义一个局部变量来解决这个问题。
// Prepare drawing zone
var paper = Raphael(document.getElementById('question'), '100%', '100%');
var word = 'Sunday';
var group = new Array();
// Draw 10 circles with text inside
for (i = 0; i < 10; i++) {
var set = paper.set();
set.push(paper.circle(50 + i * 30, 50, 50));
set.push(paper.text(50 + i * 30, 50, word));
set.click(function() {
set.translate(Math.random() * 350, Math.random() * 380); // HERE'S THE PROBLEM group[i] DOESN'T WORK !
set.rotate(Math.random() * 90);
});
group[i] = set;
}
最后,我找到了一个转机:jsfiddle
现在我在点击事件中得到了一个正确的引用。
我必须承认我不太明白我最初的问题。如果你至少能告诉我这个新的"解决方案"听起来是否合适,我会很感激的;-)Celfred .
相关文章:
- 在不移动内部文本的情况下缩放元素的效果
- 在Javascript中选择Dynamicly Created单选按钮组并显示内部文本
- 是否有一个简单的 JQuery 过程来替换页面上每段内部文本的字符串
- 获取节点的内部文本
- 如何查找最接近内部文本的标记
- 检测点击元素的内部文本,而不将文本包装在第二个元素中
- 获取元素的内部文本,但排除隐藏的子元素
- Javascript - 从数组中查找所有类,从类中获取并返回内部文本
- 如何使用 JavaScript 访问表单选择标签的 value 属性的内容或其内部文本
- 债权人 - 将外部样式表应用于 CKEditor 文本区域中的内部文本
- 在 dojo 中,我将如何擦除内部文本节点而不擦除元素内的其他节点
- 如何在java脚本中获取节点内部文本
- 如何获取单页内部文本
- 在不删除内部文本的情况下删除 SPAN 标记的最佳方法
- 使用 jquery 的动态内部文本中的数字总和
- 内部文本不适用于段落和标题 HTML 元素
- 获取内部文本并将其拆分.使用innerHTML和split的Javascript问题
- 如何在 Web 组件中设置标签的内部文本
- JQuery 查找子元素内部文本并替换为 IMG HTML
- 在表单中提交时更改内部文本和类