svg
100x50 のスケールを維持しながら、ブラウザにできるだけ大きく収まるように要素のサイズを変更しようとしています。DOM に加えられた変更を調べると、すべて問題なくチェックアウトされますが、更新された寸法がレンダリングされていないようです。この問題を解決するにはどうすればよいですか?
http://jsfiddle.net/Wexcode/SE6d3/show/
var svg = document.getElementById("svg");
resize.call(svg);
window.onresize = function() {
resize.call(svg);
}
function resize() {
this.setAttribute("width", scale(100));
this.setAttribute("height", scale(50));
function scale(value) {
return Math.min(window.innerWidth / 100, window.innerHeight / 50) * value;
}
}
編集: sq2's answer、コードをから変更します
this.setAttribute("width", scale(100));
this.setAttribute("height", scale(50));
に
this.style.width = scale(100);
this.style.height = scale(50);
修正を提供しますが、Firefox ではまだ壊れています。