제이쿼리 질문 좀 드릴게요 ㅠ
본문
mouseover와 mouseout은 잘되는데
클릭이 안먹히드라구요
click이 mouseout과 연관이 있는것 같은ㄷ ㅔㅠㅠ
$(function() {
//클릭 했을 때 이미지 변경
$('.nav-link img').on('click', function() {
$(this).attr("src", $(this).attr("src").replace("_off","_on"));
});
//hover 했을 때 이미지 변경
$(".nav-link img").mouseover(function() {
$(this).attr("src", $(this).attr("src").replace("_off","_on"));
});
//mouse out 했을 때 이미지 변경
$(".nav-link img").mouseout(function() {
$(this).attr("src", $(this).attr("src").replace("_on", "_off"));
});
});
!-->
답변 3
click에서 active 클래스를 주고 mouseout때 active가 있다면 변환을 안하도록 분기해주셔야될거같네요
.replace("_on", "_off")
가 잘못된 것 같아요
정규식으로
.replace(/_on/, "_off")
//클릭 했을 때 이미지 변경
$('.nav-link img').on('click', function() {
$(this).addClass("active").attr("src", $(this).attr("src").replace("_off","_on"));
});
//mouse out 했을 때 이미지 변경
$(".nav-link img").mouseout(function() {
if(!$(this).hasClass("active") { // active 클래스를 가지고있지 않을때 변경
$(this).attr("src", $(this).attr("src").replace("_on", "_off"));
}
});
답변을 작성하시기 전에 로그인 해주세요.