【发布时间】:2019-05-17 14:11:33
【问题描述】:
我在 div 中有如下标签的 SVG 图像
<div id="MainDiv">
<div id="annotationText">
<svg id="circle" width="50" height="50">
<circle cx="25" cy="25" r="20" stroke="green" stroke-width="4" fill="yellow" fill-opacity="0.0"/>
</svg>
</div>
</div>
我正在制作的是可拖动和可调整大小的。 draggable 正在研究如何使其可调整大小,我试过但它不起作用。
makeDragableCircle('#annotationText',jQuery('#MainDiv'));
function makeDragableCircle(selector,obj){
var height=obj.height();
var width=obj.width();
var objdiv=jQuery( selector );
jQuery( selector ).draggable({
containment: obj,
drag: function( event, ui ) {
var cleft=ui.position.left*100/width;
var top=ui.position.top*100/height;
jQuery(event.target).attr('data-offsetx',cleft);
jQuery(event.target).attr('data-offsety',top);
}
}).resizable({
alsoResize: "#"+circle,
aspectRatio: 1.0
});
}
【问题讨论】:
-
您可以通过添加
viewBox="0 0 50 50而不是width="50" height="50"来调整 SVG 的大小 -
@enxaneta 我试过了,但使用后我的拖放停止工作
-
认为您会遇到问题,因为这不会转换您的 SVG,只会调整边界框的大小。您将希望通过
resize事件查看缩放或调整 SVG 大小。看看约束纵横比。 -
@SayedMohdAli 在您的示例中定义
circle在哪里?
标签: javascript jquery html jquery-ui svg