jquery'如果与'互动'?

时间:2012-05-11 07:03:27

标签: jquery hide show

我正在做一个“悬停到偷看”的剧本,并希望一位大师可以给我一些指导。请先阅读代码,然后阅读“代码说话”

$(".peek").mouseenter(function() {
    var $peek = $("#peek");
    if ($peek.data("active")) { return; }
    $peek.show().data("active", true);
    setTimeout(function() {
        $peek.hide().data("active", false);
    }, 1000);
}); 

我该怎么说:“如果激活了$ peek或者隐藏了$ peek”请执行此操作()

我的最终目标是:

如果悬停在.peek上,显示#peek 1秒,然后如果你看到#peek,则禁用悬停在.peek上的功能,这样你就再也看不到#peek了。

2 个答案:

答案 0 :(得分:1)

hide上,您将active设置为false。如果你不这样做,那么只有return才会显示,在任何后续悬停中,对吧?

答案 1 :(得分:1)

$(".peek").mouseenter(function() {
    var $peek = $("#peek");
    if (typeof $peek.data("active") !== "undefined") return;

    $peek.show().data("active", true);
    setTimeout(function() {
        $peek.hide().data("active", false);
    }, 1000);
}); 

在您的代码中,if ($peek.data("active"))检索falseundefined,而您只想运行代码的其余部分undefined