Я использую плагин jQuery SVG из http://keith-wood.name/svg.html. , и есть странная проблема.
Пакет плагинов очень хорош, позволяя использовать простой код. Однако, когда я реализую функцию масштабирования и перемещения, код работает только на одном ПК и не работает на других ПК или смартфонах.
Я хотел бы найти основную причину и устранить проблему, чтобы зум работал на всех платформах.
Подходит для: одного ПК XP с IE8, с надстройкой Adobe SVG Viewer.
Не работает: ПК XP с Firefox; Win 7 с IE8, Firefox, Chrome; Мобильная опера
Соответствующий код приведен ниже.
<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>
Любая помощь приветствуется.