0

我正在为一个需要在 2 轴可滚动刻度上绘制垂直线的公司项目创建自定义 jQuery UI 小部件。这是我目前正在使用的,我发现这是“最佳实践”:

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

在那eventsPaper上面是可以插入和删除的事件,通过这样做,可以改变this._height显示所有事件所需的事件纸的垂直(即)。

现在,我正在清除所有线条并在每次高度变化时重新绘制所有线条,但我想通过简单地调整垂直线的大小来优化这部分。

  1. 这是一个好主意吗?
  2. 实现这一目标的最佳(最快)方法是什么?
    1. 如果不是,我想重绘所有这些线最好的方法,对吗?

谢谢。

4

1 回答 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;
于 2013-09-26T13:24:51.330 回答