使用jQuery单击鼠标时显示项目和更长时间

时间:2014-10-15 00:08:07

标签: jquery html jquery-hover

我希望能够将鼠标悬停在一个区域上,并且当我移动时,项目2会显示X时间(使用当前代码可以正常工作)。但我也希望它显示更长时间,如果它被点击,这对我当前的代码不起作用。

            <script>
            $("#redd").click(function() {

                     $("#raddress").show();
                    setTimeout(function() {
                        $("#raddress").fadeOut(2000);
                    }, 20000);
                });

            $("#redd").mouseenter(function() {
                     $("#raddress").show();
                    setTimeout(function() {
                        $("#raddress").fadeOut(5000);
                    }, 1000);
                });
            </script>

2 个答案:

答案 0 :(得分:1)

在事实无效后点击它的原因是因为原始的fadeOut()函数仍在处理。

$("#redd").click(function() {

    /*
     * The following stops the animation, and fades in back in so that 
     * entire sequence resets, but with a longer time.
     */
    $("#raddress").stop().fadeIn();

    setTimeout(function() {
        $("#raddress").fadeOut(2000);
    }, 20000);
});

$("#redd").mouseenter(function() {
    $("#raddress").show();
    setTimeout(function() {
        $("#raddress").fadeOut(5000);
    }, 1000);
});

答案 1 :(得分:0)

将它包含在一个小JSFiddle中。我不知道你正在使用的女巫JQuery,但也许这就是问题所在。 我错过了什么?我希望它有所帮助

HTML(仅2个容器):

<div id=redd>Hover or Click me</div>
<div id=raddress>I am fading out</div>

JQuery(给定代码):

$("#redd").click(function () {

    $("#raddress").show();
    setTimeout(function () {
        $("#raddress").fadeOut(2000);
    }, 20000);
});

$("#redd").mouseenter(function () {
    $("#raddress").show();
    setTimeout(function () {
        $("#raddress").fadeOut(5000);
    }, 1000);
});

小提琴:LINK