제이쿼리 질문
본문
마우스 오버 / 아웃 할때 해당 ID div 백그라운드, 폰트색 변경을 하고 ID spd1인 DIV를 클릭 했을때 백그라운드 폰트색 변경을 하고싶은데 마우스 오버 / 아웃 스트립트가 있을때 클릭 이벤트가 안먹는거 같아서요 같이 사용하고 싶은데 방법이 있을까요??
$("#spd1").mouseover(function(){ $('#bar1').css("color","#232323"); $('#bar1').css("background","#ffffff");
});
$("#spd1").mouseleave(function(){ $('#bar1').css("color","#ffffff"); $('#bar1').css("background","#232323");
});
$('#spd1').click(function() { $('#bar1').css("color","#232323"); $('#bar1').css("background","#ffffff");
});
답변 2
소스 상에서 클릭 시 색상과 오버 시 색상이 같은데요?
색상을 다양하게 바꿔보세요.
<script src="http://code.jquery.com/jquery-2.2.4.min.js"></script>
<style>
div{border-radius:20px;font-weight:bold;}
#bar1{padding:100px;background:#ccc;}
#spd1{padding:20px;margin:10px;background:black;color:white;cursor:pointer;}
</style>
<div id="bar1">
bar1
<div id="spd1">spd1</div>
</div>
<script>
$("#spd1").mouseover(()=>{
$('#spd1').css("color","red");
$('#spd1').css("background","orange");
$('#bar1').css("color","blue");
$('#bar1').css("background","aqua");
});
$("#spd1").mouseleave(()=>{
$('#spd1').css("color","blue");
$('#spd1').css("background","aqua");
$('#bar1').css("color","red");
$('#bar1').css("background","orange");
});
$('#spd1').click(()=>{
$('#spd1').css("color","black");
$('#spd1').css("background","white");
$('#bar1').css("color","white");
$('#bar1').css("background","gray");
});
</script>
그럴리가요?
over나 click이나 css 설정이 똑같으니 클릭하나 오버하나 변함이 없을테죠
다르게 설정한다고 해도 클릭 후 mouseleave 상태가 되면 클릭시 설정은 사라지겠죠