简体   繁体   English

悬停在导航项上时显示图像

[英]Display image when hovering over nav item

For each nav item I have in my navigation, I want a different image displayed next to it on hover.对于导航中的每个导航项目,我希望在 hover 旁边显示不同的图像。 I tried setting a data-image attribute to the background image of my div, but found out later this solution won't work.我尝试将 data-image 属性设置为我的 div 的背景图像,但后来发现这个解决方案不起作用。 And I don't want to use classes to display the different images.而且我不想使用类来显示不同的图像。

Is there a JavaScript solution to dynamically change an image?是否有 JavaScript 解决方案来动态更改图像? Like can you put attributes with image paths on the nav items and check with JS what image to display on hover?就像您可以将带有图像路径的属性放在导航项上并用 JS 检查要在 hover 上显示什么图像?

This is what I've tried:这是我尝试过的:

<div class="navbar__menu__menu">
    <a class="navbar__menu__item" data-image="url(/img/menu/menu-image-1.jpg)">Home</a>
    <a class="navbar__menu__item" data-image="url(/img/menu/menu-image-2.jpg)">Work</a>
    <a class="navbar__menu__item" data-image="url(/img/menu/menu-image-3.jpg)">About</a>
    <a class="navbar__menu__item" data-image="url(/img/menu/menu-image-4.jpg)">Contact</a>
    <div class="navbar__menu__image"></div>
</div>
.navbar__menu__image {
    height: 80vh;
    width: 25vw;
    background-image: attr(data-image);
    position: absolute;
}

You could try something like this if you want to handle this without JavaScript.如果你想在没有 JavaScript 的情况下处理这个问题,你可以尝试这样的事情。

HTML HTML

<div class="navbar__menu__menu">
    <a class="navbar__menu__item">Home<div><img src="/img/menu/menu-image-2.jpg" /></div></a>
</div>

CSS CSS

a>div { 
    display: none; 
}
a:hover>div { 
    display: block; 
}

I think with out different class name is hard to achieve我认为没有不同的 class 名称很难实现

by with adding different class name you can achieve with JavaScript or jquery by add class or toggle class functionality by with adding different class name you can achieve with JavaScript or jquery by add class or toggle class functionality

jquery example: jquery 示例:

 $(".classname").hover(function () {
     $(this).toggleClass("result_hover");
 });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM