javascript - 使用 JavaScript 将鼠标悬停在文本上时更改图像,将鼠标悬停在图像上时更改文本

标签 javascript css

当您将鼠标悬停在相关 anchor 标记上时,我有这段 JavaScript 代码可以更改图像的不透明度。我想知道如何让它也反向工作?将鼠标悬停在图像上时更改 anchor 标记。

http://jsfiddle.net/7EzuS/8/

JavaScript

$('.link a').hover(
function () {
    $('img.'+$(this).attr('class')).addClass('hovered');
    },
function () { 
    $('img.'+$(this).attr('class')).removeClass('hovered');
});

HTML

<ul>
    <li><div class="link"><a href="#" class="link_a">Link A</a></div></li>
    <li><div class="link"><a href="#" class="link_b">Link B</a></div></li>
    <li><a href="#"><img class="link_a" src="http://somthing.jpg" /></a></li>
    <li><a href="#"><img class="link_b" src="http://somthing.jpg" /></a></li>
</ul>

CSS

.hovered     {opacity: 1.0;}
img          {opacity: 0.5;}
img:hover    {opacity: 1.0;}

谢谢。

最佳答案

在这种情况下,您应该处理 id 而不是类,以便获得通用解决方案,请查看 here

HTML:

<ul>
    <li><div class="link"><a href="#" id="link_a" class="hoverLink">Link A</a></div></li>
    <li><div class="link"><a href="#" id="link_b" class="hoverLink">Link B</a></div></li>
    <li><a href="#"><img id="link_a_img" class="hoverImg" src="http://images.apple.com/support/ipod/images/do_not_disconnect_icon.gif" /></a></li>
    <li><a href="#"><img id="link_b_img" class="hoverImg" src="http://atlanta.braves.mlb.com/images/global/alert_icon.gif" /></a></li>
</ul>

JS:

$('.link a').hover(
function () {
    $('#' + $(this).attr('id') + '_img').addClass('hovered');
},
function () {
    $('#' + $(this).attr('id') + '_img').removeClass('hovered');
});
$('img.hoverImg').hover(
function () {
    var idParts = $(this).attr('id').split('_');
    var id = idParts[0] + "_" + idParts[1];
    $('#' + id).addClass('hovered');
},
function () {
    var idParts = $(this).attr('id').split('_');
    var id = idParts[0] + "_" + idParts[1];
    $('#' + id).removeClass('hovered');
});

CSS:

.hovered     {opacity: 1.0; font-weight:bold;}
img          {opacity: 0.5;}
img:hover    {opacity: 1.0;}

关于javascript - 使用 JavaScript 将鼠标悬停在文本上时更改图像,将鼠标悬停在图像上时更改文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22809135/

相关文章:

javascript - 如何让我的图像在 HTML 或 CSS 中的某个点停止重复?

javascript - 如何识别 css 类是否具有 extjs 中的属性

css - compass 将 .css 输出路径设置为与 .scss 相同的位置

javascript - 将组件设置插入样式管理器

javascript - 如何更改 javascript 中 &lt;input&gt; 标签的文本值

javascript - HTML输入到php然后返回到input

html - 改变当前页面高亮颜色

javascript - Ajax请求内循环,完成后页面重新加载

javascript - 仅替换函数第一次出现的情况

javascript - 合并多个 Ng-repeats