2012-04-07 7 views
0

クラス上で2秒間マウスを動かした場合(2秒間マウスボタンを押したままにする)、クラスを非表示にしたい。どうですか?あなたはクラスのマウスタンデム(数回)を移動した場合は()jqueryで2秒後にショーが遅れる

、あなたはslideToggle自動化されたとして、私はこれをしたくない行って表示されます。どのようにそれを修正できますか?

DEMO:http://jsfiddle.net/tD8hc/

マイ試してみました:

$('.clientele-logoindex').live('mouseenter', function() { 
    setTimeout(function(){ 
     $('.clientele_mess').slideToggle("slow"); 
    }, 2000); 
}).live('mouseleave', function() { 
     $('.clientele_mess').slideUp("slow"); 
})​ 

答えて

1

下記これはあなたの問題は

http://jsfiddle.net/G3dk3/1/ 

VAR Sを解決するリンクしてみてください。
$( '顧客-logoindex ')。

s = setTimeout(function(){ 
     $('.clientele_mess').slideDown(); 
    }, 2000); 
}).live('mouseleave', function() { 
     $('.clientele_mess').slideUp("slow"); 
    clearTimeout(s) 
}) 
+0

ポストは、ここだけではなく別のサイト上であなたの答え。 –

+0

それが動作するコードを追加し、このコード – Mahipal

+0

を試してみてくださいここだけ – Mahipal

0

は、タイマーが開始されたときに、この

<div class="clientele-logoindex">Keep the mouse here 
<div class="clientele_mess" style="display: none;">okkkkkkko</div></div> 
+0

ItをslideToggleでの問題のように行っているいくつかの回は、それを修正することができますか。クラス '顧客-logoindex'上にマウスを移動した後、自動化された? –

0

録音のようなあなたのhtmlを書くと1つの新しいを開始する前に存在しているかどうかを確認1:

window.timer = null;  
$('.clientele-logoindex').live('mouseenter', function() { 
    if(!window.timer) { 
     window.timer = setTimeout(function(){ 
      $('.clientele_mess').slideToggle("slow"); 
      window.timer = null; 
     }, 2000); 
    } 
}).live('mouseleave', function() { 
     $('.clientele_mess').slideUp("slow"); 
})​ 
0

hoverIntentを見てみましょうが、要素のホバーを確保するためのjQueryプラグインである{)(、機能を(' のMouseEnter' を生きる。

関連する問題