Я использую Vis.js для рисования сетевых диаграмм. Я хотел бы иметь возможность уведомления о том, что при получении AJAX-обновления для определенного узла холст перемещает этот узел в центр (который уже может видеть Vis.js), а затем имеет некоторый тип анимации bullseye над чтобы привлечь внимание пользователей, пока они не нажмут узел. Самый близкий пример к эффекту анимации, я ищу это в http://codepen.io/MateiGCopot/pen/ogEKRKАнимированный bullseye через узел Vis.js
var w = c.width = 400,
h = c.height = 400,
ctx = c.getContext('2d'),
frame = 0;
function anim(){
window.requestAnimationFrame(anim);
++frame;
for(var i = 0; i < w; ++i){
ctx.strokeStyle = i%20 === 0 ? 'hsl(hue, 80%, 50%)'.replace('hue',
(360/(w/3) * i - frame) % 360
) : 'rgba(0, 0, 0, .08)';
ctx.beginPath();
ctx.arc(w/2, h/2, (i + frame)%w/2, 0, Math.PI*2);
ctx.stroke();
ctx.closePath();
}
}
anim();
Является ли это лучший способ добиться такого эффекта? Запуск его на моей машине делает всплеск использования процессора, поэтому он не кажется таким эффективным.
Кроме того, как я могу интегрировать что-то вроде этого с помощью Vis.js, чтобы он рисовал узел изображения и останавливается при щелчке узла? Этот конкретный пример привлекает круги наружу, однако я бы хотел, чтобы они были обращены внутрь, но не могли понять, как изменить направление.
JavaScript не мой сильный сюита, поэтому более подробное объяснение лучше. Кроме того, я не привязан специально к Vis.js, поэтому, если есть еще одна библиотека, которая уже имеет эту функциональность (наряду с сопоставимыми функциями Vis.js), я бы с ней был в порядке.
Мне также интересно, как управлять содержимым узлов, такими как пользовательские анимации .js и чистый html. – tkelly