Хорошо, немного взломать.
Вы не сможете легко убрать свечение, потому что свечение на самом деле представляет собой массив элементов, по какой-то причине пока нет функции removeGlow, которая захватывает и фиксирует их.
Вот то, что я придумал, у меня сейчас есть проект, который нуждался в этой функциональности, пришел сюда, чтобы исправить это, и подумал, что я придумаю что-нибудь, как только увижу ваш пост.
Хорошо, шаг 1:
Добавьте пустой массив над вашими материалами инициализации, это будет держать ваши свечения.
var glowsToBeRemoved = [];
Шаг 2: Зайдите в raphael.js и найдите (в elproto.glow):
for (var i = 1; i < c + 1; i++) {
out.push(r.path(path).attr({
stroke: s.color,
fill: s.fill ? s.color : "none",
"stroke-linejoin": "round",
"stroke-linecap": "round",
"stroke-width": +(s.width / c * i).toFixed(3),
opacity: +(s.opacity / c).toFixed(3)
}));
}
Сразу после этого (и до возврата) добавить:
glowsToBeRemoved.push(out);
Итак, все, что он делает, это выталкивает все свечения, когда они созданы, в массив.
Теперь, чтобы удалить их, вы должны создать цикл с помощью .remove (); на ваших зависаниях. Вот как это будет выглядеть:
var i = 0;
var size=glowsToBeRemoved.length;
for(i=0; i < size; i++)
{
glowsToBeRemoved[i].remove();
}
Вы можете врезать это в функцию и прикрепить ее к своему парнику, или все, что вы хотите с ним делать.
Хорошо выглядишь?