我有一个链接,它是个人用户名。单击它时,会出现一个小弹出窗口(无序列表)。我正在努力做到这一点:
- 单击人员用户名将弹出 ul 切换为淡入/淡出
- 如果您单击以显示弹出窗口,然后单击 ul,它不会消失
- 如果您单击除弹出按钮以外的任何地方的主体,它就会消失
这就是我到目前为止所拥有的,但我基本上只是在自欺欺人地认为我知道自己在做什么:(
$(document).ready(function() {
$('.flyout h3 a').click(function() {
var flyout = $('.flyout ul');
flyout.fadeToggle(80,function() {
if ( flyout.is(':visible') ) {
console.log('visible');
$(document).on('click',function(e) {
flyout.fadeOut(80);
e.stopPropagation();
});
} else {
$(document).off('click');
}
});
});
});
html:
<div class="flyout">
<h3>Welcome back, <a href="#">Dogbreath</a><img src="img/down-arrow.png" alt="dropdown"></h3>
<div class="menu">
<ul>
<li><a href="#"><span class="icon">👥</span>Users</a></li>
<li><a href="#"><span class="icon">🕨</span>Groups</a></li>
<li><a href="#"><span class="icon">⚙</span>Configuration</a></li>
<li><a href="#"><span class="icon"></span>Logout</a></li>
</ul>
</div>
</div>