[초보] body 클릭 시 창(메시지 팝업) 닫기 채택완료
Copy
참여자로 지정된 프로젝트가 있습니다. {프로젝트명}
참여자로 지정된 프로젝트가 있습니다. {프로젝트명}
참여자로 지정된 프로젝트가 있습니다. {프로젝트명}
참여자로 지정된 프로젝트가 있습니다. {프로젝트명}
참여자로 지정된 프로젝트가 있습니다. {프로젝트명}
참여자로 지정된 프로젝트가 있습니다. {프로젝트명}
$(".message .bell").click(function(){
$(".message_list").slideToggle(100).toggleClass('open');
});
.bell을 클릭하면 .message_list가 나오도록 스크립트를 작성했는데,
.message_list가 나왔을 때는 (.message_list.open일 때는)
body를 클릭해도, .bell을 클릭해도 창이 닫혔으면 좋겠습니다.
어떻게 스크립트를 수정하면 될까요?
답변 1개
채택된 답변
+20 포인트
2년 전
Copy
참여자로 지정된 프로젝트가 있습니다. {프로젝트명}
참여자로 지정된 프로젝트가 있습니다. {프로젝트명}
참여자로 지정된 프로젝트가 있습니다. {프로젝트명}
참여자로 지정된 프로젝트가 있습니다. {프로젝트명}
참여자로 지정된 프로젝트가 있습니다. {프로젝트명}
참여자로 지정된 프로젝트가 있습니다. {프로젝트명}
// $(".message .bell").click(function(){
// $(".message_list").slideToggle(100).toggleClass('open');
// });
$('body').on('click', function(evt){
var obj_target = $(evt.target).closest('.message .bell').get(0);
if (obj_target !== undefined) {
$(".message_list").slideToggle(100).toggleClass('open');
} else {
// var has_open = $(".message_list").hasClass('open');
var has_open = $(".message_list").css('display') != 'none';
if (has_open == true) {
$(".message_list").slideToggle(100).removeClass('open');
}
}
});
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인