Возможно ли смоделировать выбор с помощью setSelection? - PullRequest
0 голосов
/ 25 октября 2018

У меня есть проект, в котором я использую модуль временной шкалы 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 .Это подтверждается как работа, как и ожидалось, в документации (в разделе События > timeline.select), где говорится: Not fired when the method timeline.setSelection() is executed.

Так что мой вопрос: кто-нибудь знает, как использовать timeline.setSelection() метод и фактически вызвать событие select?Мне кажется неинтересным вызывать метод timeline.setSelection() и фактически не вызывать событие select.

1 Ответ

0 голосов
/ 25 октября 2018

Потратил несколько часов на это и потерпел неудачу.В итоге я просто взял код из моего timeline.on('select', function (properties) { блока, превратил его в функцию и вызвал его после вызова timeline.setSelection().

По сути, я не исправил проблему, но обошел ее.Будет следить за этим в случае, если кто-то действительно сможет выяснить, как добавить событие select() к методу setSelection().

...