Рафаэль: вывести затемненные точки вперед - PullRequest
1 голос
/ 31 марта 2012

У меня есть несколько объектов круга Рафаэля на холсте, во многих случаях они перекрываются, а иногда меньший круг полностью покрывается большим кругом, сидящим поверх него. В таких случаях я хотел бы выдвинуть меньший круг вперед, когда он был наведен - или, точнее, когда его координаты наведены.

Я экспериментировал с методом getElementsByPoint () как часть обработчика перемещения мыши, но обнаружил, что его производительность действительно вялая.

Есть ли какие-либо советы или рекомендации по продвижению покрытых или затемненных точек на холсте Рафаэля?

Заранее спасибо.

1 Ответ

0 голосов
/ 03 апреля 2012

Вы можете создать оверлейную маску в виде прозрачного rect, охватывающего всю область холста, содержащую координаты пути каждой фигуры, и прикрепить фигуры к ней в качестве обработчиков.

, для этого вам потребуетсясоздайте пользовательские события для наложения маски и для захвата фигур, давайте назовем их «shape-coor-over» и «shape-coor-out».

эта маска будет действовать как посредник: она будет прослушивать движения мышии будет запускать shape-coor-over и shape-coor-out пользовательских событий при определенных условиях (если мышь вошла в область пути и т. д.), и когда зарегистрированные формы будут уведомлены, их обработчики будут вызывать toFront() или toBack() формы соответственно.

...