人のユーザー名であるリンクがあります。クリックすると、小さなフライアウト ウィンドウ (順序付けられていないリスト) が表示されます。私はそれをそうしようとしています:
- 人物のユーザー名をクリックすると、フライアウト 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>