Я создаю прямоугольники с помощью jQuerySVG 1.5, и у меня возникла проблема, когда у меня есть переменные данные для x
, y
, w
и h
. Я хочу увеличить масштаб своих элементов, поэтому у меня есть переменная, на которую я умножаю. Когда я устанавливаю scale
в 2
, прямоугольники печатаются нормально, но когда я устанавливаю в 3
, некоторые из них обрезаются, а остальные «прячутся» за элементом.
Я видел эту проблему раньше, когда я возился. Чтобы исправить это, я бы установил CSS width
и height
на ширину и высоту моего элемента.
i.e.,
$('#svg').css({ width: "100px", height: "100px", position: "absolute"});
Почему-то в этот раз не работает. Я попытался добавить div
s, которые я создаю для своего SVG, в другой div
, это не работает, и установка высоты тела на большое число, например 1000 или 10000, не решает эту проблему.
Я также заметил, что если я сделаю прямоугольники действительно большими, а затем увеличу масштаб с помощью Google Chrome, это в зависимости от моей величины масштабирования в % отрежет больше или меньше прямоугольников.
Вот несколько фотографий, которые иллюстрируют мою проблему:
http://imageshack.com/a/img540/7610/9KrAp3.png
Вот мой код:
$.getJSON('test.json', function(data) {
var scale = 2;
for (var i = 0; i < total; i++) {
var svg = document.createElement("div");
svg.id = 'svg' + i;
document.body.appendChild(svg);
$('#svg' + i).svg();
var svgE = $('#svg' + i).svg('get');
svgE.rect(x,y,w,h, {
stroke: 'lightblue',
strokeWidth: 0.5
});
$('#svg' + i).css({
position: "absolute"
});
}
});
Любая помощь будет оценена по достоинству, спасибо.
width
,height
иviewPort
элементовsvg
с помощью JavaScript. Например:document.getElementById('id-of-the-svg').setAtrribute('width', 'depends-on-your-scale')
- person Weafs.py   schedule 19.11.2014$('id-of-svg').attr('width', '...')
- person Weafs.py   schedule 19.11.2014viewPort="x y width height"
--------›, гдеx
иy
определяют верхний левый угол, аwidth
иheight
определяют ширину и высоту видимой области. Например, еслиx
иy
были1
; аwidth
иheight
были100
, тогда значенияx
иy
будут из1 - 100
. В целом ваш элементsvg
должен выглядеть как --------›<svg width="100" height="100" viewPort="1 1 100 100">....</svg>
- person Weafs.py   schedule 19.11.2014