D

jquery 잘 아시는 분 ?

· 2012-08-28 (화) 11:33:44 · 1659 · 5
<script charset="utf-8">
$(function(){
$(".allButton").mouseover(function(e){
e.preventDefault();
$("#allmenu").slideToggle("slow");
});
});
</script>

http://ratia1.kuku.co.kr/index_age.php

마우스를 올리면 슬라이딩 메뉴가 나오는데요...
문제가 메뉴 마다 가져다 대면 나왔다 들어갔다 나왔다 들어갔다를 반복하거든요..
저 부분을 메뉴부분에 있으면 내려오는거 한번 !!
메뉴 + 슬라이딩에서 빠져 나가면 사라지게 하려면 어떻게 해야 하나요 ?

=== 이렇게도 해 봤습니다 =================================
<script charset="utf-8">
$(function(){
$(".allButton").mouseover(function(e){
$("#allmenu").slideToggle("slow");
e.preventDefault();
});
});
</script>
|

댓글 5개

2012-08-28 (화) 11:45:16
언뜻 봐선 tr 에 mouseover 이벤트를 주셔서 그런 거 아닌가도 싶네요. 저도 잘은 몰라서;;
a 에 클래스 하나 주시고 그걸로 지정을 해보시는 건 어떨런지
2012-08-28 (화) 12:13:11
아 맨처음엔 그렇게 되어 있었는데 각 메뉴마다 a class=allbutton 하니까... 역시 같은 문제가....
해당 요소에 마우스가 오버 될때마다 slideToggle() 매서드가 실행되는 소스입니다.
한마디로 요소에 마우스를 올린뒤에 또 다시 요소에 마우스를 올려야 하단 매뉴가 사라지는 구조이지요.

mouseout 이벤트를 사용하시거나 hover 매서드를 사용하셔서 조건을 만들어주셔야합니다.
2012-08-28 (화) 21:46:21
mouseover 시 나타나고
mouseout시 사라지게 하려면 어떻게 하면 되는건가요 ?
jQuery를 잘 몰라서요...
$(".class").bind("mouseover mouseout", function(event) {
if(event.type == "mouseover") {
$(".menu").slideDown(slow);
} else if (event.type == "mouseout") {
$(".menu").slideUp(slow);
}
});

혹은

$(".class").hover(
function() {
$(".menu").slideDown(slow);
},
function() {
$(".menu").slideUp(slow);
}
);

제일 단순하게는 이런 구조가 되어야겠지요.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
12-08-29 조회 1,107
12-08-29 조회 1,751
12-08-29 조회 614
12-08-29 조회 1,124
12-08-28 조회 936
12-08-28 조회 652
12-08-28 조회 2,009
12-08-28 조회 1,003
12-08-28 조회 1,653
12-08-28 조회 1,673
12-08-28 조회 1,749
12-08-28 조회 1,661
12-08-28 조회 1,094
12-08-28 조회 1,123
12-08-28 조회 1,105
12-08-28 조회 1,112
12-08-28 조회 4,140
12-08-28 조회 1,735
12-08-28 조회 1,151
12-08-28 조회 1,660