이미지 태그의 src가 1초마다 반복적으로 변경되게 진행하려고 합니다

이미지 태그의 src가 1초마다 반복적으로 변경되게 진행하려고 합니다

QA

이미지 태그의 src가 1초마다 반복적으로 변경되게 진행하려고 합니다

본문


<script type="text/javascript">
    $(document).ready(function() {
  setInterval(function() {
    img_return()
  }, 1000);
});
    
    function img_return() {
  $(".sec2_bottom__product1").attr("src","/img/sec2_bottom__product1_active.png")
        
}
  
    </script>

 

이렇게 반복설정을 하였는데, 

 

function img_return() 여기에 실행되는 attr 변경문에서 다시 원래대로 돌아가 /img/sec2_bottom__product1.png 로 변경 후, 반복되게 설정을 어떻게 해야 할까요?

 

이미지 태그의 src가 1초마다 반복적으로 변경되게 진행하려고 합니다 ㅠㅠ

이 질문에 댓글 쓰기 :

답변 2


<script type="text/javascript">
    var num = 0;
    $(document).ready(function() {
  setInterval(function() {
    img_return()
  }, 1000);
});
    
    function img_return() {
      num++;
      if(num % 2 == 0){
          $(".sec2_bottom__product1").attr("src","/img/sec2_bottom__product1.png");
      }else{
          $(".sec2_bottom__product1").attr("src","/img/sec2_bottom__product1_active.png");
      }
        
}
  
    </script>
 

같은 방식, 짧은 코드입니다. 굳이 길게 적을 필요가 없지요.


<script>
let step = 0;
function img_return() {
  let img = $(".sec2_bottom__product1");
  img.attr("src", step++%2 ? "/img/sec2_bottom__product1.png" : "/img/sec2_bottom__product1_active.png");
}
$(document).ready(function() {
  setInterval(img_return, 1000);
});
</script>

또는 이미지 주소에 _active 존재 여부로 치환하는 방법도 있습니다.

이미지 이름을 길게 적을 필요도 없이 대상 지정하면, 편하게 _active 붙였다 뗐다 반복.

 

동작 방식의 차이로 setInterval()보다 setTimeout()이 나을 수 있습니다.

 

+ setInterval()

- https://developer.mozilla.org/en-US/docs/Web/API/setInterval

 

+ setTimeout()

- https://developer.mozilla.org/en-US/docs/Web/API/setTimeout

- https://developer.mozilla.org/ko/docs/Web/API/setTimeout

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

회원로그인

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