jQuery SVG插件奇怪的缩放/移动问题
我使用的是来自的jQuerySVG插件,有一个奇怪的问题 插件包非常好,支持简单的代码。但是,当我实现缩放和移动功能时,代码仅适用于一台PC,而不适用于其他PC或智能手机 我想找到根本原因并解决问题——这样缩放功能就可以在所有平台上运行 适用于:一台带有IE8的XP PC,以及Adobe SVG Viewer附加组件 不起作用: XP PC与Firefox; 用IE8、Firefox、Chrome赢得7分; 手机剧 相关代码如下jQuery SVG插件奇怪的缩放/移动问题,svg,jquery-svg,Svg,Jquery Svg,我使用的是来自的jQuerySVG插件,有一个奇怪的问题 插件包非常好,支持简单的代码。但是,当我实现缩放和移动功能时,代码仅适用于一台PC,而不适用于其他PC或智能手机 我想找到根本原因并解决问题——这样缩放功能就可以在所有平台上运行 适用于:一台带有IE8的XP PC,以及Adobe SVG Viewer附加组件 不起作用: XP PC与Firefox; 用IE8、Firefox、Chrome赢得7分; 手机剧 相关代码如下 <style type="text/css"> @im
<style type="text/css">
@import "jquery.svg.css";
#svgbasics { width: 800px; height: 600px; border: 1px solid #484; }
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="jquery.svg.js"></script>
<script type="text/javascript" src="jquery.svgdom.js"></script>
<script type="text/javascript">
$(function() {
$('#svgbasics').svg({loadURL: 'Test.svg'});
$('#ZoomIn').click(ZoomIn);
$('#ZoomOut').click(ZoomOut);
});
function ZoomOut() {
var svg = $('#svgbasics').svg('get');
var viewBoxSize = $(svg.root()).attr('viewBox');
$('#message').html(viewBoxSize);
var viewBoxSizeArray = viewBoxSize.split(" ");
X = Number(viewBoxSizeArray[0]);
Y = Number(viewBoxSizeArray[1]);
Width = Number(viewBoxSizeArray[2]);
Height = Number(viewBoxSizeArray[3]);
Width = Width/0.9;
Height = Height/0.9;
var string = X + " " + Y + " " + Width + " " + Height;
$('#message2').html(string);
svg.change(svg.root(), {viewBox: string});
}
</script>
@导入“jquery.svg.css”;
#svgbasics{宽度:800px;高度:600px;边框:1px实心#484;}
$(函数(){
$('#svgbasics').svg({loadURL:'Test.svg'});
$(“#缩放”)。单击(缩放);
$(“#ZoomOut”)。单击(ZoomOut);
});
函数ZoomOut(){
var svg=$('#svgbasics').svg('get');
var viewBoxSize=$(svg.root()).attr('viewBox');
$('#message').html(viewBoxSize);
var viewBoxSizeArray=viewBoxSize.split(“”);
X=编号(viewBoxSizeArray[0]);
Y=编号(viewBoxSizeArray[1]);
宽度=数量(viewBoxSizeArray[2]);
高度=数量(viewBoxSizeArray[3]);
宽度=宽度/0.9;
高度=高度/0.9;
变量字符串=X+“”+Y+“”+宽度+“”+高度;
$('#message2').html(字符串);
change(svg.root(),{viewBox:string});
}
非常感谢您的帮助。我知道这太晚了,但我只是在研究大致相同的问题时找到了您的帖子 无论如何,您的问题可能与jQuery对属性名执行.toLowerCase()操作有关。通常情况下,这很好,但SVG似乎是某些浏览器中的一个例外 而不是
$(svg.root()).attr('viewBox');
试一试
然后
完成后再设置
svg.root().getAttribute('viewBox');
svg.root().setAttribute('viewBox', value);