【问题标题】:jquery on slide remove hover state of the button幻灯片上的jQuery删除按钮的悬停状态
【发布时间】:2012-10-08 12:12:51
【问题描述】:

使用 Jquery,当您单击按钮时,我可以简单地向下滑动 div。 问题是,按钮 :hover 状态没有被移除。

JS FIDDLE:http://jsfiddle.net/Y6gHb/9/

(小记,在我的网站版本上,我实际上需要再次将鼠标悬停在按钮上,然后将鼠标移出,才能恢复正常状态)。

这里是JS代码:

   $("a").click(function() {
        var div = $("#toggleDiv"); 
        if (!div.hasClass("open")) {
            div.animate({
                height: "300px"
            },"fast").addClass("open");
        } else {
            div.animate({
                height: "150px"
            },"fast").removeClass("open");

        }
        return false;
    });

正如您将在小提琴中看到的那样,a 链接在幻灯片后保持红色。在这个简单的例子中,这看起来不是什么大问题,但在我的网站上,这真的很烦人。

我的问题是:

我做错了吗?或者如何在点击时移除 :hover 状态?

(我对 Twitter 引导工具提示有类似的问题)。

【问题讨论】:

  • 澄清一下,我在视频说明中制作的“显示更多”按钮或多或少与您在 Youtube 上的“显示更多”按钮完全相同。

标签: jquery hover jquery-animate


【解决方案1】:

在我的测试中,只要我移动鼠标,它就会自行移除,但让链接“悬停”仍然令人不快。你可以这样欺骗它:

$(this).unbind('onmouseover').unbind('onmouseout');

但是,如果您为这些事件绑定了事件,则应在删除它们后重新附加。

适用于您有以下情况:

$("a").hover(function(){
//Do fancy stuff
});

所以你会做这样的事情:

    function hoverLinkEffect(e) {
        // Do fancy stuff                                
    }

//Then on the a click event handler
$(this).unbind('onmouseover').unbind('onmouseout').on('hover',hoverLinkEffect);

这里是完整的代码:

$(document).ready(function() {

    $("a").click(function() {
        $(this).unbind('onmouseover').unbind('onmouseout');
        var div = $("#toggleDiv"); 
        if (!div.hasClass("open")) {
            div.animate({
                height: "300px"
            },"fast").addClass("open");
        } else {
            div.animate({
                height: "150px"
            },"fast").removeClass("open");

        }
        return false;
    });

});​

【讨论】:

  • 谢谢。但我似乎仍然有问题。 jsfiddle.net/Y6gHb/10 我将如何重新绑定活动?我需要创建另一个监听器吗?
  • 您在哪个浏览器中试用?
  • Mac 上的 Chrome 最新版本。
  • 通过重新绑定更新了答案。我已经在 Firefox、Chrome 甚至资源管理器上进行了测试,一旦我点击,您的示例中的链接就会变成蓝色。
猜你喜欢
  • 1970-01-01
  • 2015-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-27
  • 2013-10-21
  • 2017-12-23
相关资源
最近更新 更多