将鼠标悬停在 li 上时更改图像并使用 CSS 永久保存该图像

Posted

技术标签:

【中文标题】将鼠标悬停在 li 上时更改图像并使用 CSS 永久保存该图像【英文标题】:Change image when hovering over li and keep that image permanent using CSS 【发布时间】:2016-09-22 10:05:42 【问题描述】:

对于我的生活,我无法弄清楚。本质上,有一个在页面访问时加载的图像占位符。然后,当我将鼠标悬停在选项 1、2 或 3 上时,一个新图像将取代它并成为永久图像,直到我悬停另一个选项。这可能吗?

<div>
[Image - Loads on Visit]
[Image 2- Hidden until hover on li]
[Image 3- Hidden until hover on li]
</div>  

<div>
<ul>
<li>Option 1</li>
<li>Option 2</li>
<li>Option 3</li>
</ul>
</div>

【问题讨论】:

【参考方案1】:

这是使用 jQuery 的另一种方法。您必须加载自己的图像才能真正看到它的工作原理。

这是工作小提琴!

https://jsfiddle.net/ur7tns7L/

我带走了

    $(#element).on("mouseleave",function()


);

这会使图像永久化,直到另一个图像悬停在上面。

【讨论】:

太棒了。我需要添加什么才能使悬停在 li 上的图像永久化,直到我将鼠标悬停在另一个 li 上? 见上面的修订版 诺亚,恒星!谢谢【参考方案2】:

您最好的方法是使用 javascript。 jQuery 将使您的工作更加轻松。对您的每张图片执行以下操作:

$( document ).ready(function() 
    $('li.list-class-1').mouseover(function()
        $('.img-1').css("display": "block");
        $('.img-2').css("display": "none");
        $('.img-3').css("display": "none");
    );
    $('li.list-class-2').mouseover(function()
        $('.img-2').css("display": "block");
        $('.img-1').css("display": "none");
        $('.img-3').css("display": "none");
    );
    $('li.list-class-3').mouseover(function()
        $('.img-3').css("display": "block");
        $('.img-1').css("display": "none");
        $('.img-2').css("display": "none");
    );
);

当您将鼠标悬停在列表项上时,此代码只是设置相关图像的显示。您需要为列表项和图像提供一些类(或 ID)。

【讨论】:

尝试在JSFIDDLE 进行演示,但无法正常工作。你能提供一些意见吗? 您只是使用 id 而不是 class 作为元素。在这里工作 JSFiddle:jsfiddle.net/2Lfx1Lmq/3

以上是关于将鼠标悬停在 li 上时更改图像并使用 CSS 永久保存该图像的主要内容,如果未能解决你的问题,请参考以下文章

使用css将鼠标悬停在按钮上时如何更改站点背景图像?

jQuery CSS 悬停

将鼠标悬停在 li 上时如何更改所有字体颜色

将鼠标悬停在上下文菜单上时如何更改 li 项的颜色

CSS - 将鼠标悬停在 li 元素上时执行转换(下拉菜单)

当用户使用 JQuery 将鼠标悬停在链接上时如何显示图像