1

私がする必要があるのは、ページのコンテンツがクリックされたときにボタンを表示することです。このボタンは 3 秒間だけ表示する必要があり、その後は自動的にフェードアウトする必要があります。

例を含む jsfiddle を次に示します。

http://jsfiddle.net/EuCWp/2/

jqueryコードは次のとおりです。

$("#container").click(function(){
    $("#show").fadeIn().delay(400).fadeOut();
});

赤いボックスがページ コンテンツであり、クリック イベントが関連付けられているとします。緑のボックスはボタンです。

問題は、赤い四角を押し続けると、緑のボタンが表示されたままになることです。つまり、赤い四角をクリックするたびに遅延を 0 にリセットする必要があります。赤いボックスを 3 回続けてクリックすると、この動作が得られることを確認してください。

show, hide, show, hide, show, hide

それ以外の

show, keep showed, keep showed, hide

何かアドバイス?よろしくお願いします。


編集:

また、マウスでホバーしている間、そのボタンを開いたままにしたい..どうすればこの動作を得ることができますか?

再度、感謝します

4

2 に答える 2

5

あなたは使用することができsetTimeoutますclearTimeout

(function(){
    var timer = 0;
    $("#container").click(function(){
        if (timer) clearTimeout(timer);
        else $("#show").fadeIn();
        timer = setTimeout(function(){
            $('#show').fadeOut();
            timer = 0;
        }, 400);
    });
})();
于 2013-05-29T09:21:33.380 に答える