我有一个项目,我使用 vis.js 时间线模块作为一种图像轮播,其中我有一个开始和结束时间,在时间轴上绘制事件,并自动循环它们并显示附加到每个事件的图像在另一个容器中。
我已经有这个工作,并使用类似于以下的东西来完成这个,除了一个部分:
var container = document.getElementById('visualization');
var data = [1,2,3,4,5];
var timeline = new vis.Timeline(container, data);
timeline.on('select', function (properties) {
// do some cool stuff
}
var i = 0;
(function timelapseEvents(i) {
setTimeout(function(){
timeline.setSelection(data[i], {focus: true, animation:true});
if (i < data.length - 1) {
timelapseEvents(i+1);
}
}, 2000);
})(i)
上面的timeline.setSelection()部分工作,时间线事件被选中并关注。但是,不会触发“选择”事件。这在文档(在事件>时间线.select下)中被验证为按预期工作,它说:Not fired when the method timeline.setSelection() is executed.
所以我的问题是,有谁知道如何使用该timeline.setSelection()方法并实际触发select事件?timeline.setSelection()调用该方法而不实际触发 select 事件对我来说似乎不直观。