Я попытался перетащить узел по отдельности, получив позицию мыши, по-видимому, улавливается всем поведением захвата графа. Свойства выбранных узлов правильно изменены, но другие узлы перемещаются вместе, даже если я устанавливаю n.x и n.y.sigma.js: Есть ли способ перетащить один узел в отдельности
Вот моя попытка: http://jsfiddle.net/blt909/yhk3b/
jQuery(document).ready(function(){
var sigRoot = document.getElementById('sig');
var sigInst = sigma.init(sigRoot).position(0, 0, 1);
var mousePos = {};
$(document).mousemove(function(e){
var $div = $("#sig");
mousePos = {
x: e.pageX,
y: e.pageY
};
});
function onNodeDown(evt) {
var sigmajs = evt.target;
var nodeId = evt.content[0];
sigmajs.iterNodes(function(n){
n.size = 5;
n.color = "#0000FF";
n.displayX = mousePos.x;
n.displayY = mousePos.y;
console.log(n);
},[nodeId]);
sigmajs.draw(2,2,2, false);
sigmajs.refresh();
};
sigInst.graphProperties({
minNodeSize: 2,
maxNodeSize: 5
});
sigInst.addNode('000',{
label: '000',
color: '#000000',
x: Math.random() * 100,
y: Math.random() * 100
}).addNode('111',{
label: '111',
color: '#111111',
x: Math.random() * 100,
y: Math.random() * 100
}).addNode('222',{
label: '222',
color: '#222222',
x: Math.random() * 100,
y: Math.random() * 100
}).addEdge('111222','111','222')
.addEdge('111000','111','000');
sigInst.bind('downnodes',onNodeDown);
sigInst.draw();
})
ли кто-нибудь пробовал тот же трюк на sigma.js?
Спасибо за вашу помощь
Привет , вы решили решить эту проблему? – MrMins
Я пока не нашел никакого решения, но я не пробовал новую версию sigma.js, опубликованную между моим вопросом и теперь ... – blt909