Рафаэль, рисовать и изменять размеры вертикальных линий

0

Я создаю пользовательский jQuery UI Widget для корпоративного проекта, где мне нужно рисовать вертикальные линии по 2-осевому прокручиваемому масштабу. Это то, что я сейчас использую, из того, что я нашел "лучшей практикой":

var tick = this.eventsPaper.path("M" + x + ",0L" + x + "," + this._height).attr({
    stroke: this.options.eventsForeground
})s

На этих eventsPaper - это события, которые могут быть вставлены и удалены, и при этом может изменить вертикальный (т. this._height) документ событий, необходимый для отображения всех событий.

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

  1. Это хорошая идея?
  2. Каков наилучший (самый быстрый) способ достижения этого?
    1. Если нет, я предполагаю, что перерисовка всех этих строк является наиболее оптимальным способом, я прав?

Благодарю.

Теги:
svg
raphael

1 ответ

1
Лучший ответ

Большинство UA будут быстрее, если вы не воссоздаете линии.

Скажем, что ваш элемент - это что-то вроде этого...

<path id="path1" d="M5,0L5,10"/>

так

var path = document.getElementById("path1");
var start = path.pathSegList.getItem(0);
var end = path.pathSegList.getItem(1);

// and now you can do things like this...

start.y = 20;
end.y += 50;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню