我在raphaeljs的文档中阅读到 Set.forEach 的描述,但不理解它是如何工作的。请问有人能给我一个使用示例吗。
我看过了raphaeljs的文档并了解了Set对象和forEach方法,但需要更多关于该方法的信息才能提供使用示例。
我在raphaeljs的文档中阅读到 Set.forEach 的描述,但不理解它是如何工作的。请问有人能给我一个使用示例吗。
我看过了raphaeljs的文档并了解了Set对象和forEach方法,但需要更多关于该方法的信息才能提供使用示例。
这里有一个可用的示例:
这是重要的部分:
set.forEach(function(e){
e.attr({fill:'#000'})
})
一开始可能有点棘手,但当你掌握了它,就会很方便。您需要将要在每个元素上执行的函数传递给forEach()
方法,并且此函数需要像参数一样具有要绑定到该元素的变量名称。因此,在这种情况下,e
是正在处理的矩形。懂了吗?
以下是 Raphael 的 forEach
文档中未提及的一些内容:
set.forEach(function(element, index){
element.attr({fill:'#000'});
alert('This is the element that can be accessed as set['+index+']');
})
回调函数传递了两个参数:
this
在 Raphael 的 forEach
循环中的作用域与周围的函数相同(不像 jQuery 的 .each()
)。
.each()
函数不同,如果将单个 Raphael 元素而不是集合传递给 Raphael 的 .forEach()
,它会崩溃。如果变量可能包含一个元素或多个元素的集合,请首先检查 Raphael 对象的类型。.forEach()
不像 jQuery 那样创建闭包 - 它只是一个数组的迭代。每次迭代中的变量不会在该迭代中“冻结”,它们可以被后续迭代覆盖。