0

ユーザーがクラスでマウスを2秒間動かした場合(マウスボタンを2秒間押し続ける)、クラスを非表示にするように表示します。どうですか?()

クラスでマウスをタンデム (数回) 移動すると、slideToggle が自動化されていることがわかりますが、これは望ましくありません。どうすれば修正できますか?

デモ: http://jsfiddle.net/tD8hc/

私が試した:

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

4 に答える 4

1

以下のリンクを試してくださいあなたの問題は解決します

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

var s;
$('。clientele-logoindex')。live('mouseenter'、function(){

    s = setTimeout(function(){
        $('.clientele_mess').slideDown();
    }, 2000 );
}).live('mouseleave', function() {
        $('.clientele_mess').slideUp("slow");
    clearTimeout(s)
})
于 2012-04-07T18:39:56.200 に答える
0

タイマーが開始された時間を記録し、新しいタイマーを開始する前にタイマーが存在するかどうかを確認します。

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");
})​
于 2012-04-07T18:38:43.890 に答える
0

このようにあなたのhtmlを書いてください

<div class="clientele-logoindex">Keep the mouse here
<div class="clientele_mess" style="display: none;">okkkkkkko</div></div>
于 2012-04-07T18:32:39.620 に答える