2012-03-09 7 views
0

이하 hover 요소에 대한 함수를 작성했습니다. 나는이 기능이 마우스가 2 초 이상 그 부분에있을 때만 수행되기를 원한다. 그들이 덜하거나 전혀 없을 때 이것은 만들 수 없습니다. 코드 아래2 초 후에 함수 실행

내가 쓴 :로 마우스가 clearTimeout를 사용하여 타이머를 명확 해고되는 경우

$(function(){ 
    $('section.zespol_list ul li a').hover(function(){ 
     $(this).next().fadeIn(1000); 
    }, 
    function(){ 
     $(this).next().fadeOut(1000); 
    }); 
}); 

답변

6

당신은 실행을 지연 할 setTimeout를 사용하고 그 시간 내에 할 수 있습니다.

$(function(){ 
    var timeOutId; 
    $('section.zespol_list ul li a').hover(function(){ 
     timeOutId= setTimeout(function(){ 
      $(this).next().fadeIn(1000) 
     ), 2000); 
    }, 
    function(){ 
     clearTimeout(timeOutId); 
     $(this).next().fadeOut(1000); 
    }); 
}); 
1

는 사용 setTimeout()clearTimeout()

var timer; 
$(function(){ 
    $('section.zespol_list ul li a').hover(function(){ 
     timer = setTimeout(function() { 
      $(this).next().fadeIn(1000); 
     }, 2000); 
    }, 
    function(){ 
     clearTimeout(timer); 
     $(this).next().fadeOut(1000); 
    }); 
}); 
+0

그냥 풀고 싶었지만 전혀 작동하지 않습니다. 아래 코드를 웹 버전에 첨부하십시오 : http://tinyurl.com/7j9934v 이 테스트는 사각형 보드로 배열 된 그림 일 수 있습니다. – Pietrov

+0

@Pietrov 그건 내 잘못이 아니에요. 오류가 있습니다 :'Uncaught TypeError : Object [object Object]에 'slideViewerPro'' 메서드가 없습니다. –

+0

Ok 코드를 제거했는데 문제가 해결되었습니다. 다른 스크립트가 그의 작업에 영향을 줄 수 있습니까? – Pietrov

0

와 분명히 사실 플러그인이라고 HoverIntent있다. 나는 그것을 개인적으로 사용하지 않았지만 당신의 문제를 해결할 것 같았습니다.

+0

취소되지 않기 때문에 도움이되지 않습니다. –

관련 문제