Как я могу сделать узлы силовой магии d3.js, которые исправили: true становятся незафиксированными?Сделать фиксированный узел в d3.js нефиксированным
Если я установил их в d.fixed = false, это не сработает.
У меня есть код, похожий на http://bl.ocks.org/norrs/2883411 working. Таким образом, он устанавливает d.fixed = true при перетаскивании.
Оценка d.fixed как Boolean, похоже, тоже не работает.
Но я хотел бы также иметь возможность блокировать узлы.
Либо на перетаскивании, либо через какую-либо другую функцию.
Im пытается это:
if (d.fixed==false) {
d.fixed=true;
d3.select(this).classed("fixed", true);
}
else
{
d.fixed = false;
d3.select(this).classed("fixed", false);
}
The плохие результаты можно увидеть на этой скрипке: http://jsfiddle.net/2u5KB/2/
Спасибо, Гарет.
Установка 'fixed' на' false' должна работать. Не могли бы вы разместить полный пример, который иллюстрирует проблему, пожалуйста? –
Попробуйте вызвать force.resume() после изменения свойств узла. –
На самом деле вам может потребоваться вызвать [force.start()] (https://github.com/mbostock/d3/wiki/Force-Layout#wiki-start). –