JS规则在悬停时影响2个单独的链接

时间:2015-05-17 23:16:04

标签: javascript jquery html css

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

html涉及一个bootstrap navbar& 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才能完成我所追求的目标,但我在两者中都是排名初学者!

1 个答案:

答案 0 :(得分:1)

好的,所以你是对的。你需要jQuery。首先,你应该做的是给两个链接标签相同的类,让我们说foo。为两个链接标记提供类foo。然后,使用jQuery来定位它们。

现在,你希望它在悬停时永久改变颜色,使用THIS:

$('.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文件,然后在上面列出的标记之后通过<script>标记附加它。或者,将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_2切换id_1并将颜色更改为任何颜色。第一种颜色是要更改的颜色,第二种颜色是设置回原始颜色。