我编写了以下代码,它成功地增加了svg
行的大小,但未能减小它的大小。以下是代码:
var x = function(a,s){
var line = document.getElementById('l1');
if (s > line.getAttribute(a) ) { // if s i greater
for (var i = line.getAttribute(a); i<=s;i++ ){
line.setAttribute(a, i);
}
};
if(s < line.getAttribute(a)){
for (var i = line.getAttribute(a); i<s;i-- ){
line.setAttribute(a, i);
}
};
};
x('x2', 400); // changes the width of the svg
x('x2', 40); // fail
<html>
<body>
<svg heigth="210" width="500" id="svg1" >
<line id="l1" x1="0" y1="50" x2="100" y2="50" style="stroke:rgb(250,30,0); stroke-width:2"/>
</svg>
</body>
</html>
你可以看到它能够增加它的宽度但是不能减少它吗?
我对i<s
和i--
中的第二个if语句感到困惑,我认为存在所有错误(可能没有)
谢谢!
答案 0 :(得分:0)
有效
if(s < line.getAttribute(a)){
for (var i = line.getAttribute(a); i > s;i-- ){ //changes here
line.setAttribute(a, i);
}
};