PCのときはマウスオーバーでサブメニューが開いて、スマホのときはタップで開きどこかタップすると閉じるようにしたいです。
現状は、タップするとサブメニューが開きますが、すぐ閉じてしまうんです。
JQUERY
$(function () { var ua = navigator.userAgent; if (ua.indexOf('iPhone') > 0 || ua.indexOf('iPad') > 0 || ua.indexOf('Android') > 0 && ua.indexOf('Mobile') > 0) { jQuery('ul#menu li ul').hide(); jQuery(function () { $("li#profile-btn").on('click touchstart', function () { var windowWidth = window.innerWidth; if (windowWidth <= 1000) { $("li#profile-btn ul").slideToggle(300); } }); }); jQuery(function () { $("li#policy-btn").on('click touchend', function () { var windowWidth = window.innerWidth; if (windowWidth <= 1000) { $("li#policy-btn ul").slideToggle(300) } }); }); jQuery(function () { $("main").on('click touchstart', function () { $("ul#menu ul").slideUp(300); }); }); } else { jQuery(function () { $("li#profile-btn").on('mouseenter mouseleave', function () { $("li#profile-btn ul").slideToggle(300); }); }); jQuery(function () { $("li#policy-btn").on('mouseenter mouseleave', function () { $("li#policy-btn ul").slideToggle(300); }); }); } });
CSS
ul#menu { display: flex; justify-content: space-between; width: 32vw; margin-top: 0.8vw; } ul#menu li a { font-size: 1.2vw; font-weight: bold; color: #fff; } ul#menu li a:hover { border-bottom: 1px solid #fff; } ul#menu li div { flex-direction: column; width: auto; position: absolute; display: none; background-color: #f1faff; } ul#menu li li { background-color: #f1faff; border-bottom: 1px solid #000; line-height: 2vw; font-size: 100%; position: relative; } ul#menu li li:last-child { border: none; } ul#menu li li a { color: #8a90b7; background-image: url(none) !important; font-weight: bold; padding-left: 2%; font-size: 0.9vw; } ul#menu li li a:hover { background-color: #19ACFF; color: #fff; background-image: url(none) !important; text-decoration: none; } ul#menu li#home-btn { width: 3.8vw; } ul#menu li#profile-btn, li#policy-btn { width: 6.7vw; } ul#menu li#profile-btn a, li#policy-btn a, li#profile-btn a:hover, li#policy-btn a:hover { background-image: url("/wp-content/themes/kazama/image/common/submenu.svg"); background-position: right center; background-repeat: no-repeat; background-size: 0.6vw auto; } ul#menu li#suppot-btn, li#contact-btn { width: 5vw; } ul#menu li div li a, ul#menu li div li a:hover { background-image: url(none) !important; } ul#menu li#profile-btn ul { width: 7vw; } ul#menu li#policy-btn ul { width: 14vw; }
HTML
<ul id="menu"> <li id="home-btn"><a href="/"><span>ホーム</span></a> </li> <li id="profile-btn"><a href="#">人物<span>を知る</span></a> <div> <ul> <li><a href="/profile/">プロフィール</a> </li> <li><a href="/profile/media/">メディア掲載</a> </li> <li><a href="/profile/lifework/">ライフワーク</a> </li> <li><a href="/profile/works/">区議のお仕事</a> </li> </ul> </div> </li> <li id="policy-btn"><a href="#">政策<span>を知る</span></a> <div id="sub2"> <ul> <li><a href="/policy/">政策を知る一覧</a> </li> <li><a href="/policy/no1/">僕が、議員になった理由</a> </li> <li><a href="/policy/no2/">政策について、お話する前に</a> </li> <li><a href="/policy/no3/">政策2007年-2018</a> </li> <li><a href="/policy/no4/">政策2019</a> </li> <li><a href="/policy/no5/">「古い政策」を、変えるために</a> </li> </ul> </div> </li> <li id="supprt-btn"><a href="/supporter/">応援<span>する</span></a> </li> <li id="contact-btn"><a href="/contact/">連絡<span>する</span></a> </ul>
お手数ですが、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー