Я не могу понять, как поместить путь относительно ограничивающей рамки его родственного пути. Представьте себе окно, подобное окну, и я хочу поместить его в верхний правый угол. Вот кнопка коробки и близко сгруппирован вместе после преобразования окна (масштабирование 3x):Snap Svg Ограничительная коробка и координаты преобразования
<g id="group24">
<path id="path24" fill="#00aa00" stroke="#00ff00" stroke-width="4" stroke-miterlimit="10" d="M301,585.08v47h45.834l-0.134-21.8
l12.3-0.2l-1-239H253v216c0,0,22,0.2,22,0c0-41,26-31.357,26-31.357V585.08L301,585.08z" transform="matrix(3,0,0,3,-612,-1003.16)"></path>
<path id="close-button" fill="#B40000" d="M256,232c-13.255,0-24,10.745-24,24s10.745,24,24,24s24-10.745,24-24
S269.255,232,256,232z M265.102,270.277l-8.985-8.984l-8.985,8.985l-4.826-4.829l8.983-8.984l-8.984-8.984l4.829-4.826l8.983,8.982
l8.981-8.983l4.83,4.827l-8.983,8.983l8.984,8.983L265.102,270.277z"></path>
</g>
Я просто добавить кнопку после преобразования окна (анимировать обратный вызов) в группу group24 динамически и появляется кнопка закрытия, как это :
и после того, когда я получаю ограничивающий прямоугольник path24 элемента в группе и попытаться расположить кнопку рядом с правой верхней:
var p = this.SvgButton.select("path");
var bbox = myBox.getBBox();
var coordString = (bbox.x2 - 10) + " " + (bbox.y);
p.transform("T" + coordString);
Координаты всегда неправильные. Как я могу поместить кнопку закрытия в верхний правый угол светлого окна?
Пример того, что я пытаюсь достичь здесь: http://jsfiddle.net/savpm8w3/1/ Обратите внимание, что шкала анимации не работает в jsfiddle и вот почему пример в скрипку работ.
Возможно ли установить базовый jsfiddle, показывающий его? – Ian
Здравствуйте, я добавил пример jsfiddle, я пытаюсь добиться работы (без трансформаций) здесь: http://jsfiddle.net/savpm8w3/1/. По какой-то причине масштабная анимация не работает в jsfiddle. Я хочу добиться этого с помощью 3x масштабированного трансформированного основного блока (rect1) после окончания анимации. –
Возможно, вы захотите вывести созданную вами матрицу, посмотреть, действительно ли это так. Из интереса попробуйте getBBox (1), а просто посмотрите, не имеет ли значения, iirc было что-то вроде, если в 1-м он будет принимать во внимание преобразования (я могу ошибаться!) – Ian