私はJQueryを使用してクリック可能なドロップダウンメニューを作成しました。 ==見える
1)「」ドロップダウントグルをクリックして、「」ドロップダウンメニュー
2)ではない(「」ドロップダウントグルと「」のドロップダウンメニュー):クリック可能なjQueryドロップダウンメニューが機能しません
ドロップダウンメニューは次のように働かなければなりません= dropdownMenuは非表示です
3)setTimeOutが必要です(実際にはコードはアニメーションCSSです)
複数のドロップダウンメニューが必要です。 bの後、
1)ドロップダウントグルクリック:
、B、C、D ...と "Z"
が、私のドロップダウンメニューには、この問題を与えますドロップダウントグルクリック===ドロップダウンが
2隠蔽されていない)が、このコードは、私がdropdownToggle.clickを含めたい(document.closesetを含まない(関数()< < <
がどのように私は行くことができます私はこれをクリアしようとしていますスス? ご協力いただければ幸いです。既存のコードを使用して
$(function(){
\t body = $('body');
/* dropdown */
var dropdown = $('.dropdown'),
dropdownToggle = dropdown.find('.toggle'),
dropdownMenu = dropdown.find('.menu'),
checkDropdownOpen = 'close';
dropdownToggle.click(function() {
$(this).each(function() {
// setInitial
var thisDropdown = $(this).parent('.dropdown'),
thisDropdownToggle = $(this),
thisDropdownMenu = $(this).next('.menu');
// checkDropdownMenu = open
if (!thisDropdownMenu.hasClass('open') && (thisDropdownMenu.attr('aria-hidden') === 'true' || thisDropdownMenu.attr('aria-hidden') === undefined)) {
// visible
setTimeout(function() {
checkDropdownOpen = 'open';
thisDropdownMenu.addClass('open');
}, 10);
// attr change
setTimeout(function() {
thisDropdownMenu.attr('aria-hidden', 'false');
}, 218);
} else if (thisDropdownMenu.hasClass('open') && thisDropdownMenu.attr('aria-hidden') === 'false') {
// visible
setTimeout(function() {
checkDropdownOpen = 'close';
thisDropdownMenu.removeClass('open');
}, 10);
// attr change
setTimeout(function() {
thisDropdownMenu.attr('aria-hidden', 'true');
}, 218);
}
})
});
/* dropdownClose() */
function dropdownClose() {
// toggle
dropdownMenu.removeClass('open');
// hidden, attr change
setTimeout(function() {
body.removeClass('account-open');
dropdownMenu.attr('aria-hidden', 'true');
}, 218);
}
/* document click */
$(document).click(function(e) {
// dropdown
if (!$(e.target).closest(dropdown).length) {
dropdownClose();
}
});
});
.dropdown .menu {
display: none;
}
.dropdown .menu.open {
display:block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dropdown">
<button class="toggle">button</button>
<div class="menu">article</div>
</div>
<div class="dropdown">
<button class="toggle">button</button>
<div class="menu">article</div>
</div>
こんにちは:同じことを行うには
もう一つの方法。 申し訳ありません。私のコードは、アニメーション&addClass、removeClassです。 私のコードを編集したいです。 このコードはとてもシンプルですが、私のシステムではありません。 – septemberstokii
dropdownToggle.click {
dropdownClose();
$(this).each(function(){///// this?これは固定エラーです。このコードは良いですか? – septemberstokii