마우스 커서를 올리면 하위 메뉴에 .stick
을 추가하고 마우스를 놓으면 제거하는 메뉴가 나타납니다. 다른 메뉴 항목에 마우스를 올려 놓지 않으면 마지막 숨겨진 메뉴 항목을 숨기기 전에 다른 2 초 동안 열어두기를 원합니다.마지막으로 내린 메뉴 항목이 열린 상태로 유지
다음은 내가 가지고있는 것입니다. 컨테이너의 mouseleave()
은 ul#main-nav > li
호버링 기능의 handlerOut 내에 있기 때문에 작동하지 않는다는 것을 알고 있지만, 내가 마지막으로 중단 한 부분을 보여주기 위해 남겨 두었습니다. 사전에
$('ul#main-nav > li').hover(function() {
var $this = $(this);
clearTimeout(window.menustick);
$this.find('ul.submenu').addClass('stick');
}, function() {
var $this = $(this);
if($this.siblings().hover()) {
$this.find('ul.submenu').removeClass('stick');
} else if ($('#main-nav').mouseleave()) {
window.menustick = setTimeout(function(){
$this.find('ul.submenu').removeClass('stick');
}, 2000);
}
});
감사합니다!
하십시오
는아래의 코드는 회원님이 찾고있는 사람이 원하는 효과를 수행하기 위해 나타납니다 제공 [jsfiddle 예제] (http : //jsfiddle.n et) – Dom
안녕하세요 @ DOM, [여기는 JS 피들입니다.] (http://jsfiddle.net/mikemiketm09/3F7bJ/) 감사합니다! – Mikel
JS Fiddle을 업데이트했습니다. http://jsfiddle.net/3F7bJ/1/에서 확인하십시오. –