Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Svg缩放到特定的矩形_Javascript_Svg_Viewbox - Fatal编程技术网

Javascript Svg缩放到特定的矩形

Javascript Svg缩放到特定的矩形,javascript,svg,viewbox,Javascript,Svg,Viewbox,我有多个分组元素的SVG。我要做的是放大到安全组 我已经得到了带有{top,left,width,height}的rect,我想放大它(更改SVG的viewBox属性) 任何计算视图框右值的简单方法?您可以将视图框设置为等于“左上宽度-高度”: 这里有一个简单的例子。单击任一矩形将在该矩形上缩放屏幕。再次单击它将使屏幕恢复到原来的缩放状态 var selected=false; var svg=document.getElementById('svg'); var zoomonement=函数

我有多个分组元素的SVG。我要做的是放大到安全组

我已经得到了带有
{top,left,width,height}
的rect,我想放大它(更改SVG的
viewBox
属性)


任何计算视图框右值的简单方法?

您可以将视图框设置为等于“左上宽度-高度”:

这里有一个简单的例子。单击任一矩形将在该矩形上缩放屏幕。再次单击它将使屏幕恢复到原来的缩放状态

var selected=false;
var svg=document.getElementById('svg');
var zoomonement=函数(e){
如果(例如,目标===选定){
//取消选择元素
setAttribute(“viewBox”、“0 600 400”);
所选=假;
}否则{
//选择元素
所选=e.目标;
var viewBox=selected.getAttribute('x');
viewBox+=“”+已选定。getAttribute('y')
viewBox+=''+已选定。getAttribute('宽度')
viewBox+=“”+已选择。getAttribute('height')
setAttribute(“viewBox”,viewBox);
}
}
document.getElementById('rect-1')。addEventListener(“单击”,Zoomonement);
document.getElementById('rect-2')。addEventListener(“单击”,Zoomonement)

您可以将viewBox设置为等于“左上角宽度-高度”:

这里有一个简单的例子。单击任一矩形将在该矩形上缩放屏幕。再次单击它将使屏幕恢复到原来的缩放状态

var selected=false;
var svg=document.getElementById('svg');
var zoomonement=函数(e){
如果(例如,目标===选定){
//取消选择元素
setAttribute(“viewBox”、“0 600 400”);
所选=假;
}否则{
//选择元素
所选=e.目标;
var viewBox=selected.getAttribute('x');
viewBox+=“”+已选定。getAttribute('y')
viewBox+=''+已选定。getAttribute('宽度')
viewBox+=“”+已选择。getAttribute('height')
setAttribute(“viewBox”,viewBox);
}
}
document.getElementById('rect-1')。addEventListener(“单击”,Zoomonement);
document.getElementById('rect-2')。addEventListener(“单击”,Zoomonement)


当然您只需将viewBox设置为
“左上宽度高度”
。当然您只需将viewBox设置为
“左上宽度高度”
。谢谢!很好!我对属性有了新的了解,但在我的情况下,这不起同样的作用。。。所以我想我必须计算这些值。。。但我在代码中发现了bug;)谢谢很好!我对属性有了新的了解,但在我的情况下,这不起同样的作用。。。所以我想我必须计算这些值。。。但我在代码中发现了bug;)