채택완료

자바스크립트 문의드립니다..

2019-04-11 (목) 14:24:49 2,051

안녕하세요..

class 가 on 되면 이미지명이 바뀌게 하고 싶은데요

<div class="step"><img src="img/logo_off.png"></div>

<div class="step on"><img src="img/logo_off.png"></div> 

이렇게 되면 logo_on.png 이미지로 바뀌게 하과 싶습니다.

파일은 전부 _on, _off 이런식으로 변경해놓은 상태구요..

$(function(){
  var step= $('.step');
  step.on(function(){
    step.attr('src','_on.png');
  });
});

이런식인것 같은데.. 안되더라구요

고수님들의 조언을 부탁드립니다..ㅠㅠ

|

답변 3개 / 댓글 2개

채택된 답변
+20 포인트

step.find('img).attr('src','_on.png');

답변에 대한 댓글 1개

2019-04-11 (목) 14:49:38
<script>
$(function(){
var step= $('.line');
step.on(function(){
step.find('img').attr('src','_on.png');
});
});
</script>

이게 맞나요?ㅠㅠ

다시 살펴보니 클래스가 변경 되었을때를 체크하시는걸 만드려고 하시는것 같네요.

DOMNodeInserted로 요소가 변경될시 리스닝 할 수 있습니다만

해당 클래스를 추가하는 이벤트가 일어날때 같이 실행하시는게 더 효율적입니다

2019-04-11 (목) 14:40:01

on 이벤트 시에 src 내용이 바뀌게 하던지, 아니면

visibility 속성으로 조절하시면 될 것 같습니다.

https://www.w3schools.com/cssref/pr_class_visibility.asp

아 그리고. JQuery는 Page가 다 load 되고 단 다음에 적용되는 것이지요?

onload 된 다음에 스크립트를 실행 해 주세요.

아니면 제대로 적용 안될수도 있어요..

답변에 대한 댓글 1개

2019-04-11 (목) 14:50:16
답변 감사합니다. 이미지가 많아서 css에서는 변경이 힘들것같아요ㅠ

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