我正在尝试将大量代码从Raphael转换为Snap。 我遇到了很多问题 - 我会为每个问题提出1个问题,以避免线程混淆。
我有很多关于Raphael toFront方法的电话。 Snap中缺少此方法,但我找到了一个建议的实现:
Snap.plugin(function (Snap, Element, Paper, glob) {
var elproto = Element.prototype;
elproto.toFront = function () {
this.appendTo(this.paper);
return this;
};
elproto.toBack = function () {
this.prependTo(this.paper);
return this;
};
});
这对于Elements来说非常好,但是我发现我的大多数toFront调用都是在集合中。有没有办法扩展Snap集?
答案 0 :(得分:1)
我有完全相同的要求,并设法通过@Ian所说的经典原型扩展了Set
。
// example function (forEach reversed)
function revForEach(callback, thisArg)
{
for (var i = this.items.length - 1, ii = 0; i >= ii; i--)
{
console.log(i);
if (callback.call(thisArg, this.items[i], i) === false)
{
return this;
}
}
return this;
}
// extend Snap Set class
Snap.Set.prototype.revForEach= revForEach;