【问题标题】:JS rule to affect 2 separate links on hoverJS规则在悬停时影响2个单独的链接
【发布时间】:2016-02-14 21:02:33
【问题描述】:

过去几个小时,我一直在尝试为我正在处理的网站上的 2 个单独链接制定悬停效果。这些链接在 HTML 中甚至没有远程关联,所以我无法使用 CSS(据我所见)来实现效果。这只不过是一个简单的悬停效果,可以改变悬停上两个单独链接的颜色,而不管用户悬停在哪个链接上。此时没有图像,只有文字 - 我希望它保持这种状态(我在看着你,平面设计师的妻子)。

html 包含一个引导导航栏和一个 WordPress 网站主页上的链接,所以架构是这样的:

                <div class="collapse navbar-collapse">
                    <ul class="nav navbar-nav">
                        <li><a class="abt" href="#">About</a></li>
                        <li><a class="prc" href="#">Work</a></li>
                        <li><a class="exp" href="#">Testimonials</a></li>
                        <li><a class="ofc" href="#">Locations</a></li>
                        <li><a class="con" href="#">Contact</a></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>


    <section id="content" role="main">
    <article id="post-10" class="post-10 page type-page status-publish hentry">
    <header class="header">
    <h1 class="entry-title">Home</h1> <a class="post-edit-link" href="#post.php?post=10&amp;action=edit">Edit This</a></header>
    <section class="entry-content">
    <div class="links">
    <li><a class="abt" href="#/about/"><span class="pg abt1">
    <p>About</p>
    <p></span></a></li>

我想专注于“关于”部分 - 我很确定我需要 jQuery 或 JS 来完成我所追求的,但我在这两个方面都是初学者!

【问题讨论】:

  • 请更新问题以提供此信息,似乎缺少。 “当我将鼠标悬停在 _______ 上时,我预计 ________ 会发生。”谢谢!不知道你在问什么

标签: javascript jquery html css


【解决方案1】:

好吧,你是对的。你需要 jQuery。首先,你应该做的是给两个链接标签同一个类,比如说 foo.将两个链接标签都赋予类 foo。然后,使用 jQuery 来定位它们。

现在,如果您希望它在悬停时永久更改颜色,请使用:

$('.foo').hover(function(){
$('.foo').css('color', 'red');
});

随意将红色更改为您喜欢的任何颜色。现在,如果您希望仅在悬停时更改颜色,请使用:

$('.foo').mouseenter(function(){
$('.foo').css('color', 'red');
});

$('.foo').mouseleave(function(){
$('.foo').css('color', 'black');
});

在第二个块中,将黑色更改为原始颜色。如果您不熟悉如何使用 JQuery,请将以下标记添加到 CSS 样式表下方的代码中(如果适用)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

这会让浏览器读取 jQuery。如果没有这个,浏览器就无法读取 jQuery。

然后,将 jQuery 的两个位中的任一个复制并粘贴到一个文件中,将其保存为 .js 文件,然后在上面列出的标记之后通过&lt;script&gt; 标记附加它。或者,将 jQuery 放在两个脚本标签之间,如下所示:

<script type='text/javascript'>
//one of the two blocks of JQuery here
</script>

把它放在你的代码中允许你使用 jQuery 的标签之后。

编辑:我收到了一个要求代码使它们不同颜色的请求。代码如下所示:

首先,您可以保留或删除课程。然后为它们分配单独的 ID,例如 id_1 和 id_2。然后,使用第一种方法:

$('#id_1').hover(function(){
$(this).css('color', 'red');
});
$('#id_2').hover(function(){
$(this).css('color', 'red');
});    

这将在悬停时永久更改颜色。使用第二种方法在鼠标悬停时改变颜色:

$('#id_1').mouseenter(function(){
$(this).css('color', 'red');
});
$('#id_1').mouseleave(function(){
$(this).css('color', 'black');
});

然后做同样的事情,但将 id_1 切换为 id_2 并将颜色更改为任何颜色。第一种颜色是要改成的颜色,第二种是要恢复原来的颜色。

【讨论】:

  • 太棒了!冒着碰运气的风险,如果我希望给定类中的两个元素之一的颜色与另一个不同,该怎么办?
  • 这是可能的。我会为你更新我的答案。给我五分钟。
  • 太棒了!这比我昨晚想的要简单得多。我想我听到更多的教育呼唤我的名字..
  • 查看codecademy.com 我用它来学习我所知道的大部分编码知识。我喜欢他们的 HTML+CSS 教程、JQuery 和 Ruby 教程。看看吧
  • 你打赌 - 到目前为止,我在 Udemy 上的运气也很好。再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-21
  • 1970-01-01
  • 1970-01-01
  • 2018-10-16
  • 2021-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多