자바스크립트 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년 전
감사합니다 해결했습니다
댓글을 작성하려면 로그인이 필요합니다.
3년 전
클릭하는 버튼을 돌리시는 거라면
<button onclick="changeStyle( this);" ... >
changeStyle( e)으로 하고 안에서 this 대신 e 파라미터를 사용하시면 됩니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
드비앙s
3년 전
정말 감사합니다
댓글을 작성하려면 로그인이 필요합니다.
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",
$(this).css("transform", ""); // 이것보다는 toggleClass()를 활용해 보세요.
} else {
$(this).css("transform",
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인