javascript - 将鼠标悬停在子项上并更改父项背景颜色?

标签 javascript jquery css html

我有我的 html 代码:

<div id="bot-bar">
    <nav class="main-nav" id="main">
        <a id="home" href="/">Home</a>
        <a id="events" href="events.php">Events</a>
        <a id="news" href="news.php">News</a>
        <a id="ranks" href="ranks.php">Ranks</a>
        <a id="media" href="media.php">Media</a>
    </nav>
</div>

当我将鼠标悬停在 <a> 上时标签,它应该改变 bot-bar 的颜色分区我怎样才能做到这一点?

最佳答案

var botBar = $('#bot-bar');

botBar.find("a").hover(function(){
   botBar.css({backgroundColor: "red"});      // mouseenter event
}, function(){
   botBar.css({backgroundColor: "green"});    // mouseleave event
});

或更短一些(性能较低但显示一些可能性):

$('#bot-bar a').hover(function( ev ){
   $(this).closest("div").css({background: ev.type=="mouseenter"?"red":"green"});
});

获取当前悬停的元素背景:

var botBar = $('#bot-bar');
var botBarBg = botBar.css("background-color");

botBar.find("a").hover(function(){
   var bg = $(this).css("background-color");
   botBar.css({backgroundColor: bg});      // mouseenter event
}, function(){
   botBar.css({backgroundColor: botBarBg});    // mouseleave event
});

jsBin demo

关于javascript - 将鼠标悬停在子项上并更改父项背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28123200/

相关文章:

javascript - 您建议使用什么模式来取消 useEffect Hook 中的订阅?

javascript - jquery each() 不会遍历新添加的表行

html - 跨浏览器后通过css插入图像

javascript - 如何用Javascript实现UML同步栏?

javascript - 焦点功能在这里有什么用?谁能解释下面的代码吗?我是初学者,所以我需要了解焦点功能的使用

asp.net - 具有动态形式的Web应用程序的最佳Rich Text编辑器

jquery - 按键期间更改按钮的颜色

html - 将绝对元素定位在相对元素中

javascript - 如何隐藏 jQuery Mobile anchor 按钮

javascript - 创建 Canvas 外菜单 Jquery