我知道这可能有一个简单的解决方案,但我是Jquery新手。请帮忙。 如何在mouseover时将一个DIV显示在另一个DIV上? 例如,我有以下内容:
<div class="box"> Info about a game </div>
我想在 "box" div 上 "覆盖" 另一个 div。
<div class="overlay"> Play </div>
如何使用JQuery实现这个功能?
提前致歉并感谢您的帮助!
如果我理解正确,您希望仅在悬停在box
上时显示overlay
。
您可以使用CSS伪类:hover
:
<div class="box">
Info about a game
<div class="overlay"> Play </div>
</div>
div.box div.overlay
{
display:none;
}
div.box:hover div.overlay
{
display:block;
}
如果你更喜欢使用animation/jquery来显示/隐藏overlay
,可以使用以下代码:
http://jsfiddle.net/Curt/BC4eY/
$(function(){
$(".box").hover(function(){
$(this).find(".overlay").fadeIn();
}
,function(){
$(this).find(".overlay").fadeOut();
}
);
});
$(document).ready(function() {
$('div.box').hover(function() {
$(this).children('.overlay').fadeIn();
}, function() {
$(this).children('.overlay').fadeOut();
});
});
这里有一种使用本地JavaScript的方法(不需要jQuery库)。如果您没有使用ES6,则可以将箭头函数替换为普通的函数表达式:
var box = document.getElementById("box");
var overlay = document.getElementById("overlay");
var init = () => {
overlay.style.display = 'none'; //hide by default when page is shown
box.addEventListener('mouseover', () => {
overlay.style.display = 'inline';
});
box.addEventListener('mouseout', () => {
overlay.style.display = 'none';
});
};
init();
<div id="box"> Info about a game<br />
<div id="overlay">Play</div>
</div>