在jquery中翻译+ =

时间:2017-05-23 10:34:40

标签: javascript jquery

有没有简单的方法我们可以为CSS添加+ =。



var obj = $('#svg > g');
var x = parseInt(obj.attr('transform').split(/[()]/)[1].split(',')[0]);
var y = parseInt(obj.attr('transform').split(/[()]/)[1].split(',')[1]);
obj.attr('transform', 'translate(' + (x + 100) + ', ' + (y + 5) + ')');
$('#svg').css("width", "+=200");

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<svg id="svg" xmlns="http://www.w3.org/2000/svg" width="100" height="200">
	   <g transform="translate(10, 10)">
			<rect x="0" y="0" rx="10" ry="10" width="100%" height="100%" pointer-events="all"></rect>
		</g>
	</svg>
&#13;
&#13;
&#13;

与造型宽度相似。 // css(&#34;宽度&#34;,&#34; + = 200&#34;);

我需要转换翻译类似 obj.attr(&#39;转换&#39;,&#39; translateX(&#34; + =&#34;&#39; + 100 +& #39)&#39);

1 个答案:

答案 0 :(得分:1)

您可以使用jquery width属性:

$('#svg').width($('#svg').width() + 200);

对于转换属性,您可以获得位置

var x = $('#svg > g').position().left;
var y = $('#svg > g').position().top;

然后抛出它来改变对象的CSS

$('#svg g').css({'transform': 'translate(' +  (x + 100) +'px, ' + (y + 5) + 'px'});