테스트 사이트 - 개발 중인 베타 버전입니다

자바스크립트 css 변경 채택완료

드비앙s 3년 전 조회 5,727

</p>

<p><script></p>

<p>    function changeStyle() {

    var rotate = $(this).css("transform");

    if(rotate === "rotate(0.5turn)"){

    $(this).css("transform", "");</p>

<p>    } else {

         $(this).css("transform", "rotate(0.5turn)");

    }

    }</p>

<p></script></p>

<p>

 

이렇게 만들었습니다.

 

만든 목적은 changeStyle()를 클릭할때마다 엘리먼트가 회전을 반복하는 것을 만들고 싶었는데요

 

현실은 작동이 안되네요 ㅠㅠ

 

뭐가 잘못된걸까요?

 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
3년 전

아마 요소에 onclick="changeStyle();" 이렇게 함수 실행시키셨을텐데

$(this) 를 사용하시고 싶으시면 그 요소의 아이디 혹은 클래스 등으로

$('#~~').click(function() {

    .... //여기에 함수 내용 들어가면 될거같네요

}

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

드비앙s
3년 전
감사합니다 해결했습니다

댓글을 작성하려면 로그인이 필요합니다.

클릭하는 버튼을 돌리시는 거라면

<button onclick="changeStyle( this);" ... >

changeStyle( e)으로 하고 안에서 this 대신 e 파라미터를 사용하시면 됩니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

드비앙s
3년 전
정말 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

function changeStyle() {
  // $(this) 대신에 $("#원하시는 대상의 id 값') 이렇게 사용해 보세요.
    var rotate = $(this).css("transform");
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

드비앙s
3년 전
정말 감사합니다
엑스엠엘
3년 전
if(rotate === "rotate(0.5turn)"){ // if( rotate.css('transform') === "rotate(0.5turn)")으로 바꾸셔야 합니다.
$(this).css("transform", ""); // 이것보다는 toggleClass()를 활용해 보세요.
} else {
$(this).css("transform",

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인