当切换的 div 处于活动状态时,防止 div 在悬停后消失 (jquery)
Keep a div from disappearing after hover while a toggled div is active (jquery)
我在图片 div 上有一个简单的 div(☰ 菜单),当您将鼠标悬停在它上面时会出现(通过不透明度)。当你点击 ☰ 菜单时,另一个 div 会切换显示,但是当你将鼠标从 image/text div 上移开时,菜单就会消失。有没有办法在切换的 div 处于活动状态时保持菜单可见,并且一旦切换的 div 不再处于活动状态,它就会在悬停时恢复为标准 appear/disappear?我想这将涉及在切换的 div 处于活动状态的情况下向菜单 div 添加 class,但我仍然是 JQuery 的初学者,所以我如果是这样的话,我不知道该怎么做。我希望这一切都是有道理的,如果我需要澄清,请告诉我。谢谢!
顺便说一句,这是我用于上述效果的代码:
.lines* 是菜单 div。 .sb* 是切换的 div.
<script>
$(document).ready(function(){
$(".lines").click(function(){
$(".sb").fadeToggle(750);
});
});
</script>
对于标记:
<div class="container">
<div class="avatar"><img src="{PortraitURL-128}"></div>
<div class="lines">☰</div>
</div>
这是一个 jsfiddle。 https://jsfiddle.net/e5o8pmpd/2/
好吧,我对你的 CSS
做了一些小改动并删除了 .lines:hover
css 并且我正在使用 jQuery
制作动画,如下所示:
$(document).ready(function () {
$(".lines").click(function () {
$(".sb").fadeToggle(750).toggleClass('open'); //toggleClass along with fadeToggle
});
$(".lines").mouseover(function(){
$(this).animate({
'opacity':'1'
},300)
}).mouseout(function(){
if(!$('.sb').hasClass('open')) //Check if menu is open or not by checking whether it has open class or not
$(this).animate({
'opacity':'0'
},300)
});
});
我在图片 div 上有一个简单的 div(☰ 菜单),当您将鼠标悬停在它上面时会出现(通过不透明度)。当你点击 ☰ 菜单时,另一个 div 会切换显示,但是当你将鼠标从 image/text div 上移开时,菜单就会消失。有没有办法在切换的 div 处于活动状态时保持菜单可见,并且一旦切换的 div 不再处于活动状态,它就会在悬停时恢复为标准 appear/disappear?我想这将涉及在切换的 div 处于活动状态的情况下向菜单 div 添加 class,但我仍然是 JQuery 的初学者,所以我如果是这样的话,我不知道该怎么做。我希望这一切都是有道理的,如果我需要澄清,请告诉我。谢谢!
顺便说一句,这是我用于上述效果的代码:
.lines* 是菜单 div。 .sb* 是切换的 div.
<script>
$(document).ready(function(){
$(".lines").click(function(){
$(".sb").fadeToggle(750);
});
});
</script>
对于标记:
<div class="container">
<div class="avatar"><img src="{PortraitURL-128}"></div>
<div class="lines">☰</div>
</div>
这是一个 jsfiddle。 https://jsfiddle.net/e5o8pmpd/2/
好吧,我对你的 CSS
做了一些小改动并删除了 .lines:hover
css 并且我正在使用 jQuery
制作动画,如下所示:
$(document).ready(function () {
$(".lines").click(function () {
$(".sb").fadeToggle(750).toggleClass('open'); //toggleClass along with fadeToggle
});
$(".lines").mouseover(function(){
$(this).animate({
'opacity':'1'
},300)
}).mouseout(function(){
if(!$('.sb').hasClass('open')) //Check if menu is open or not by checking whether it has open class or not
$(this).animate({
'opacity':'0'
},300)
});
});