LoginSignup
0
0

More than 3 years have passed since last update.

ドロップダウンリストの実装方法

Last updated at Posted at 2020-09-27

ドロップダウンリストの実装方法

ドロップダウンリストの実装をJQueryで簡単に行うことができるのですが、
今回は泥臭い方法で、実装していきます。(全て0から実装しました笑)
ほぼCssメインといっても、過言ではないのですが、
JQueyとCssで実装する2パターンを紹介させて頂きます。

index.html

<script>
//ここからは、JQuery!
 $(function(){
//nav ul liをマウスでホバーさせるとnav ul ul が出現する。
   $("nav ul li").mouseenter(function(){
//nav ul li(this)の兄弟要素にnav ul ulを含んでいるのかを調査する。
   $(this).siblings().find("nav ul ul");
//nav ul liの子要素であるnav ul ulをdisplay:blockで目に見えるようにする。
   $(this).children().slideDown(150);
   });
//body内をクリックしたら、nav ul ulをdisplay:noneにして表示させないようにする。
   $("body").click(function() {
      $('nav ul ul').slideUp(150);
   });
});
</script>

ここからHTML領域になります。
<div id="nav">
 <ul>
      <li class ="first"><a href="./index.html">トップページ<br>HOME</a></li>

      <li class="clinic"><a href="#clinic">医院紹介<br>CLINIC</a>

       <ul>
        <li><a href="#">新宿</a></li>
        <li><a href="#">渋谷</a></li>
        <li ><a href="#">赤羽</a></li>
       </ul>
      </li>

      <li><a href="#service">診察案内<br>SERVICE</a></li>
      <li><a href="#staff">院長/スタッフ紹介<br>STAFF</a>

        <ul>
         <li><a href="#">院長紹介</a></li>

         <li class = "parent"><a href="#">スタッフ紹介</a>
           <ul class ="children">
            <li><a href="#">赤羽茜</a></li>
            <li><a href="#">宇田川茂良</a></li>
            <li><a href="#">渋谷真知子</a></li>
           </ul>
         </li>

         <li class = "parent"><a href="#">中途採用</a>
             <ul class ="children">
              <li><a href="#">正社員</a></li>
              <li><a href="#">受付アルバイト</a></li>
              <li><a href="#">契約社員</a></li>
             </ul>
           </li>

        </ul>
      </li>
      <li class ="last"><a href="#access">アクセス/Q&A<br>Access</a>

        <ul>
         <li><a href="#">アクセス</a></li>
         <li><a href="#">営業時間</a></li>
        </ul>
      </li>
 </ul>
</div>

style.css
nav ul{
display:flex;
width:1050px;
margin: 0 auto;
}

nav ul ul{
position: absolute;
width:100%;
top: 100%;
left:0;
display: none;
}

nav ul ul li{
width: 100%;
background-color: navy;
border-bottom:1px solid #fff;
right: 0px;
width: 190px;
z-index: 999;
position: relative;
}

nav ul>li{
justify-content: center;
background-color: #6CC6C4;
width:20%;
padding:10px;
text-align:center;
border-right:1px solid white;
position: relative;
}

nav ul li a{
font-size:0.85em;
}

nav ul li a{
color:white;
text-decoration:none;
}

nav ul > ul > li{
background-color: #6CC6C4;
width:200px;
display: block;
padding:10px;
text-align:center;
border-right:1px solid white;
}

li.parent{
position: relative;
}

ul.children{
left:100.8%;
top:0;
position:absolute;
display: none;
}

/*li.parentをhoverすると、子要素のul.childrenが、出現する!*/
li.parent:hover ul.children{
display: block;
opacity: 0.87;
}

完成イメージ図
https://www.nxworld.net/wp-content/uploads/2016/06/css-simple-hoverable-dropdown.png

色や幅に関しては、お好みで調整してみてくださいね!では、アディオス!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0