現在、このJavaScriptに苦労しています。
$(document).ready(function () {
var visible = false;
var body = false;
$("body").mouseup(function () {
if (visible) {
$(this).parent().find("ul.subnav").slideUp('slow');
visible = false;
$(this).removeClass("clicked-background");
body = true;
}
});
$("ul.topnav li a").click(function () { //When trigger is clicked...
var menu = $(this).parent().find('ul.subnav');
if (!visible && !body) {
$(this).parent().find("ul.subnav").slideDown('fast').show();
visible = true;
$(this).addClass("clicked-background");
}
// else if (visible)
//{
// $(this).parent().find("ul.subnav").slideUp('slow');
// visible = false;
// $(this).removeClass("clicked-background");
// }
body = false;
});
});
機能を追加したかったので、メニュー/ナビゲーションの外側をクリックすると、ドロップダウンが非表示になります。このコードの現在の問題は、メニューをクリックしてからメニューの外側をクリックすると、メニューをもう一度ダブルクリックして表示する必要があることです。これは、body変数が'True'ofcに設定されすぎていることが原因です。
メニューをクリックした場合に問題を修正しようとしてbody変数を作成し、同じリンクをもう一度クリックしました。メニューは最初に正しく開き、次に閉じてから再び開きます。スーの主な問題はです。ナビゲーションを開く->閉じる->開く