1

ラベルの ID を持つ DIV に含まれるボタンを含む単純なスクリプトがあります。ホバーすると、コンテンツの ID を持つ別の div が表示されます。両方の DIV は、basket-top の ID を持つ DIV に含まれています。ホバー コールはこの div にアタッチされます。HTMLは次のとおりです。

<div id="basket-top">
    <div id="content"><br />
            <br />
            content here<br />
            <br />
    </div>
    <div id="label">label here</div>
</div><!-- /basket-top -->

JS は次のとおりです。

$("#basket-top").hover( function () {
    $("#basket-top #content").slideDown(500);
}, function () {
    $("#basket-top #content").slideUp(500);
});

これは、ユーザーがすばやく出入りして関数を何度も呼び出し、レイヤーが数回上下にスライドするまで正常に機能しています。前のアクションが完了していない場合、関数が呼び出されないようにする方法はありますか?

4

2 に答える 2

0

まず、"#basket-top #content"ID は一意でなければならないため不要です。"#content"十分なものです。次に、jQuery の.stop()関数を参照してください。

$("#basket-top").hover( function () {
    $("#content").stop(true,true).slideDown(500);
}, function () {
    $("#content").stop(true,true).slideUp(500);
});
于 2013-02-05T17:03:52.163 に答える
0

contentカーソルを合わせると分割が表示されますlabel

$("#content").hide();
$("#label").hover(function () {
    $("#content").stop(true, true).slideDown(500);
}, function () {
    $("#content").stop(true, true).slideUp(500);
});

ここでJsFIDDLE

また、補足として、ここで尋ねたすべての質問を確認し、正しい回答を受け入れる必要があります。これにより、新しい質問を投稿するときに、他の人があなたを助けたいと思うようになります. そして、あなたを助けてくれた人々に感謝します。

于 2013-02-05T17:18:49.223 に答える