单击后悬停状态不起作用

时间:2016-11-21 02:48:37

标签: javascript css hyperlink hover contact-form

所以我有这个页面https://tricote.net/contact/ 如果您在左侧有很少的链接,当您点击它们时,它会启动您的邮件应用程序并让您向商店发送电子邮件。

然而,在点击其中一个后,点击链接会在关闭时悬停状态,其余链接不会打开悬停状态....

有什么方法可以解决这个问题吗? 感谢您提前一段时间......!

1 个答案:

答案 0 :(得分:1)

好的,这是你的问题代码:

    $(".contactbox").each(function() {
        var e;
        return e = this,
        $(e).on("click", function() {
            var t, n;
            return t = $(".contactbox").index(e),
            $(".contactbox").css("background", "#fff"),
            $(e).css("background", "#648d85"),
            n = $(".contactbox").eq(t).data("label"),
            $("#contact_subject").val(n)
        })
    })

基本上,当您使用“.css”时,您将使用HTML元素的“style”属性设置背景颜色。这将覆盖CSS文件中设置的任何内容。我相信这也会超越“悬停”造型。

所以你想要改变这些界限:

$(".contactbox").css("background", "#fff"),
$(e).css("background", "#648d85")

您可以创建一个额外的类,指定“活动”元素样式而不是使用“.css”。这看起来像这样:

$(".contactbox").removeClass("activeElement");
$(e).addClass("activeElement");

通过这种方式,您可以控制通过CSS文件中的排序覆盖什么,或者为“activeElement”类悬停行为提供额外的css规则。

EDIT1: 好的,你的评论听起来好像你真的不想为用户的最后选择设置样式。所以只需删除这些行:

$(".contactbox").css("background", "#fff"),
$(e).css("background", "#648d85")

我以为你想向用户表明最后的选择是什么。听起来你不想这样,所以你不需要使用我上面包含的“removeClass”/“addClass”行。

希望我明白你想做什么。如果不是,则列出这些元素的可能状态。请添加评论或更新您的问题,说明您希望每种状态组合的样式。我编号,所以你可以用数字引用它

当前可能的国家:

  1. 项目选择/不悬停
  2. 项目选择/悬停
  3. 未选择/未悬停的项目
  4. 未选择项目/悬停
  5. 使用此编辑中的建议(State-1 === State-3)和(State-2 === State-4)。