자바스크립트 css 변경 채택완료
Copy
function changeStyle() {
var rotate = $(this).css("transform");
if(rotate === "rotate(0.5turn)"){
$(this).css("transform", "");
} else {
$(this).css("transform", "rotate(0.5turn)");
}
}
이렇게 만들었습니다.
만든 목적은 changeStyle()를 클릭할때마다 엘리먼트가 회전을 반복하는 것을 만들고 싶었는데요
현실은 작동이 안되네요 ㅠㅠ
뭐가 잘못된걸까요?
답변 3개
채택된 답변
+20 포인트
3년 전
아마 요소에 onclick="changeStyle();" 이렇게 함수 실행시키셨을텐데
$(this) 를 사용하시고 싶으시면 그 요소의 아이디 혹은 클래스 등으로
$('#~~').click(function() {
.... //여기에 함수 내용 들어가면 될거같네요
}
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
3년 전
클릭하는 버튼을 돌리시는 거라면
<button onclick="changeStyle( this);" ... >
changeStyle( e)으로 하고 안에서 this 대신 e 파라미터를 사용하시면 됩니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
3년 전
function changeStyle() {
// $(this) 대신에 $("#원하시는 대상의 id 값') 이렇게 사용해 보세요.
var rotate = $(this).css("transform");
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
3년 전
if(rotate === "rotate(0.5turn)"){ // if( rotate.css('transform') === "rotate(0.5turn)")으로 바꾸셔야 합니다.
$(this).css("transform", ""); // 이것보다는 toggleClass()를 활용해 보세요.
} else {
$(this).css("transform",
$(this).css("transform", ""); // 이것보다는 toggleClass()를 활용해 보세요.
} else {
$(this).css("transform",
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인