Скажите, у меня есть var mycircle = paper.circle(0, 0, 20).attr({stroke: "#ff0000"});
Теперь по умолчанию, когда кто-то заходит на мою страницу в www.url.com/index.html
, он получает этот круг с красным штрихом.
Однако, что, если я хотел
ход по кругу, чтобы измениться, если #hash был определен при просмотре, например
выбор был сделан, и вы хотели связать его с кем-то. Скажи кому-нибудь
просматривает www.url.com/index.html#mycircle
сейчас.
С помощью: var hash = window.location.hash.substr(1)
Я могу сделать хэш переменной, возвращающий «mycircle».
Однако, делая
hash.attr({stroke: "#0000ff"});
цвет обводки не изменится на синий! Есть ли способ обойти это, чтобы я мог изменить ход круга следующим образом?
// РЕДАКТИРОВАТЬ
Я настроил свои круги так:
var name1 = paper.circle(....);
name1.node.id = "name1";
name1.node.name = "Name";
var name2 = paper.circle(....);
name2.node.id = "name2";
name2.node.name = "Another Name";
и так далее. Затем я объединил их в набор:
nodes = paper.set();
nodes.push(name1, name2, name3, name4....);
Затем я использую nodes.hover(function() { });
и nodes.click(function() { });
для определения действий. name.node.id
используется для загрузки нужной информационной страницы в div, в то время как name.node.name
появляется над узлом, когда пользователь наводит на него курсор.
Я попытался реорганизовать свои узлы в соответствии с предложением:
var mapObjects = {};
mapObjects['name1'] = paper.circle(....);
mapObjects['name1'].node.id = "name1";
mapObjects['name1'].node.name = "Name";
mapObjects['name2'] = paper.circle(....);
mapObjects['name2'].node.id = "name1";
mapObjects['name2'].node.name = "Another Name";
Затем я попытался использовать функции, как и раньше, просто изменив узлы в mapObjects mapObjects.hover(function() { });
, то же самое с щелчком мыши. Это больше не работает! Техника хеширования работала так, что это шаг в правильном направлении. Как мне теперь настроить функции наведения и нажатия?