자바스크립트 css 변경

자바스크립트 css 변경

QA

자바스크립트 css 변경

본문


<script>
    function changeStyle() {
    var rotate = $(this).css("transform");
    if(rotate === "rotate(0.5turn)"){
    $(this).css("transform", "");
    } else {
         $(this).css("transform", "rotate(0.5turn)");
    }
    }
</script>

 

이렇게 만들었습니다.

 

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

 

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

 

뭐가 잘못된걸까요?

 

이 질문에 댓글 쓰기 :

답변 3

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

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

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

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

}

function changeStyle() {
  // $(this) 대신에 $("#원하시는 대상의 id 값') 이렇게 사용해 보세요.
    var rotate = $(this).css("transform");

if(rotate === "rotate(0.5turn)"){    // if( rotate.css('transform') ===  "rotate(0.5turn)")으로 바꾸셔야 합니다.
    $(this).css("transform", "");      // 이것보다는 toggleClass()를 활용해 보세요.
    } else {
        $(this).css("transform",

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 123,524 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT