2017-01-27 7 views
2

제 마우스의 이동 기능으로 매 2 초 직사각형을 회전시키고 싶습니다. 무엇을 잘못하고 있습니까? 어떻게 두 번째 요소마다 높이와 회전이 변경되도록 변형 할 수 있습니까?Javascript setAttribute for every second svg

if (i % 2 == 0){...} 

다음 변경 :이의 괄호 안의 (I % 2 == 0) {}

function modifyRectangles(mouseX,mouseY) { 
for (var i = 0; i < myRects.length; i++) { 
// var sx = 1; 
var h = myRects [i].getAttribute("height"); 
if (i % 2 == 0){ 
    var angle = (mouseY) + 45; 
    var sy =(mouseY/10) + 0.5; 
} 



angle -= 45; 

myRects[i].setAttribute("transform", "translate(" + x + ", 100),  rotate("+angle+"), scale(1, " + sy + ")"); 
} 
} 
+2

가 있어요 나머지 코드? 질문 자체 내에 [최소, ** 완료 ** 및 검증 가능한 예] (http://stackoverflow.com/help/mcve) **를 제공해주십시오. ** 다른 모든 직사각형의 회전을 계산하는 것처럼 보입니다. 그러나 모든 * 직사각형에 대한 변환을 설정하고 있습니다. –

+0

어떻게 두 번째 요소마다 변환을 설정할 수 있습니까? –

+0

'myRects [i] .setAttribute ("변형", "번역"+ x + ", 100), 회전 ("+ 각도 + "), 크기 조절 (1,"+ sy + ") "+ (- h/2) +") "); ' 을 'if (i % 2 == 0) {'는 다른 모든 svg에서만 호출합니다. 이 질문은보기가 어렵습니다. 정말로 빠른 솔루션을 원한다면 codepen을 만들어보십시오. –

답변

1

제거하면 바로 상태가 아닌 코드로 시용 당신을위한 루프 :

for (var i = 0; i < myRects.length; i +=2) {... 
+0

많은 도움을 주셔서 감사합니다. –

+0

안녕하십니까. 문제가 해결되면이 게시물의 초록색을 확인하는 것을 잊지 마십시오. – zer00ne