链接时间轴的chap-links-library customStackOrder()

时间:2014-04-26 09:52:02

标签: javascript timeline chap-links-library

我正在使用Chap链接时间轴库http://almende.github.io/chap-links-library/js/timeline/doc/并发现它非常有用。但是我需要按特殊顺序堆叠事件。

到目前为止,我尝试使用customStackOrder()函数而没有任何成功。 如何在此功能中访问自定义数据字段?

我的数据元素如下:

data.push({
  start: new Date( msg.timestamp ),  
  content: msg.text,
  stackOrder: msg.level
});

function customStackOrder(A,B) {
  return A.stackOrder - B.stackOrder
}

但A.stackOrder和B.stackOrder未定义。

1 个答案:

答案 0 :(得分:0)

  

如何在此功能中访问自定义数据字段?

时间轴只会忽略自定义字段,并且没有简单的方法来访问它们。函数customStackOrder中的可用项属性是实际位置和大小(leftrightwidthheight)和时间戳(start并可选择end)。

如果真的想要这样做,则必须应用效率低下的黑客攻击。这不是官方支持的,我不推荐它:

  • 从传递给排序功能的项目中,您必须确定其表索引:var indexA = mytimeline.items.indexOf(itemA)
  • 从原始数据表中读取此项目的数据:var dataA = data[indexA]
  • 从此处阅读您的自定义字段:var stackOrderA = dataA.stackOrder

编辑:

另一个技巧可能是:如果您不使用字段className,则可能会误用此字段来保存stackOrder字段的值。只需确保值不会与某些实际的css冲突。