我花了几个小时试图在我正在处理的网站上为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&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才能完成我所追求的目标,但我在两者中都是排名初学者!
答案 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并将颜色更改为任何颜色。第一种颜色是要更改的颜色,第二种颜色是设置回原始颜色。