У меня есть a jsfiddle here. Когда выбран переключатель фильтра, я хочу, чтобы он динамически изменял непрозрачность элементов и ссылок на основе их рейтинга (объекты узла имеют свойство rating
с целым значением).Динамическое изменение непрозрачности ссылок и узлов в графе силы d3 на основе фильтра радиокнопки
Может просто не использовать OnChange/OnClick благодаря функции будучи вложенными
Когда я связать функцию JS к OnChange или OnClick метод для радиокнопок, он не может найти потому что он находится внутри блока d3.json(){};
(в примере данные разделены, чтобы заставить его работать на скрипке, но эта строка закомментирована). Если я не помещаю функцию внутри этого блока, у нее нет доступа к ссылкам и узлам, но если она находится внутри, то onchange/onclick ее не может найти. Я не могу вызывать вложенную функцию со стороны html, так как она выходит за рамки.
Невозможно добавить в качестве атрибута к существующим кнопкам ввода радио (не работает)
Затем я попытался динамически добавлять OnChange и OnClick событий (я попробовал оба пути) к входу со стороны JS но это, похоже, не работает (возможно, я сделал это неправильно).
Как это сделать?
Я попытался получить № 1 для работы ниже, но я фактически застрял на # 1, что заставляет меня думать, что я приближаюсь к проблеме неправильно. Должен быть другой способ сделать это.
Рисунок, как вызвать функцию внутри
d3.json(){}
блока, когдаonchange
илиonclick
событие вызывается с помощью кнопки радио.Определите, как изменить непрозрачность узлов и ссылок на основе их данных.
This аналогичная проблема, но нет ни одного примера, так что я не могу видеть, как его применять. I do имеют поле для фильтрации в моих объектах узла, но не могут понять, как это сделать динамически в ответ на выбор переключателя.
Спасибо, Марк. Это получило мне 95% пути! Я ценю это. Теперь мне просто нужно выяснить, как сделать ссылки непрозрачными для них. – Dan
Вау, большое вам спасибо! – Dan