2017-01-10 14 views
2

ユーザーがカテゴリをクリックしたときに、「新しいもの」と「カテゴリ」という2つの項目があり、そこには1つのサブカテゴリがドロップされるはずです。しかし、私はそれらを落とす方法を把握することはできません。誰にも解決策はありますか?ここではフィドルは - https://jsfiddle.net/v3ftk7t0/ドロップダウンメニューが機能しません

<div class='shop-sidebar'> 
 
    <ul class='shop-nav'> 
 
     <li class="active"><a href="#">What's New</a></li> 
 
     <li class='w-sub' data-id='shop-categories'> 
 
      <svg class='s_arrow_down'><use xlink:href="#s_arrow_down"></use></svg> 
 
      Categories 
 
      <ul> 
 
       <li> 
 
        <a href="#">All</a> 
 
       </li> 
 
       <li> 
 
        <a href="#" class="active">Category 1</a> 
 
        <ul> 
 
         <li> 
 
          <a href="#">All</a> 
 
         </li> 
 
         <li> 
 
          <a href="#">Sub Category 1</a> 
 
         </li> 
 
         <li> 
 
          <a href="#">Sub Category 2</a> 
 
         </li> 
 
         <li> 
 
          <a href="#">Sub Category 3</a> 
 
         </li> 
 
         <li> 
 
          <a href="#">Sub Category 4</a> 
 
         </li> 
 
         <li> 
 
          <a href="#">Sub Category 5</a> 
 
         </li> 
 
         <li> 
 
          <a href="#">Sub Category 6</a> 
 
         </li> 
 
         <li> 
 
          <a href="#">Sub Category 7</a> 
 
         </li> 
 
         <li> 
 
          <a href="#">Sub Category 8</a> 
 
         </li> 
 
         <li> 
 
          <a href="#">Sub Category 9</a> 
 
         </li> 
 
        </ul> 
 

 
       </li> 
 
       <li> 
 
        <a href="#" class="active">Category 2</a> 
 
        <ul> 
 
         <li> 
 
          <a href="#">All</a> 
 
         </li> 
 
         <li> 
 
          <a href="#">Sub Category 1</a> 
 
         </li> 
 
         <li> 
 
          <a href="#">Sub Category 2</a> 
 
         </li> 
 
        </ul> 
 
       </li> 
 
       <li> 
 
        <a href="#" class="active">Category 3</a> 
 
        <ul> 
 
         <li> 
 
          <a href="#">All</a> 
 
         </li> 
 
         <li> 
 
          <a href="#">Sub Category 1</a> 
 
         </li> 
 
        </ul> 
 
       </li> 
 
      </ul> 
 
     </li> 
 
    </ul> 
 
</div>

CSS

.shop-sidebar { 
 
    width: 30%; 
 
    width: calc(295px); 
 
    display: inline-block; 
 
    padding-right: 65px; 
 
    vertical-align: top; 
 
    font-family: 'maison',sans-serif; 
 
    font-weight: 600; 
 
    font-size: 11px; 
 
    color: #000; 
 
    letter-spacing: 1.5px; 
 
    line-height: 18px; 
 
    text-transform: uppercase; 
 
} 
 
ul.shop-nav { 
 
    list-style: none; 
 
    padding: 0; 
 
    margin: 0; 
 
} 
 
ul.shop-nav li.active, ul.shop-nav li:hover { 
 
    color: #000; 
 
    opacity: 1; 
 
    font-weight: bold; 
 
} 
 
ul.shop-nav li { 
 
    transition: all 0.3s; 
 
    cursor: pointer; 
 
    padding: 18px 20px; 
 
    background-color: #f8f8f8; 
 
    margin-bottom: 2px; 
 
} 
 
ul.shop-nav li.active a { 
 
    color: #000; 
 
} 
 
ul.shop-nav a { 
 
    color: #000; 
 
} 
 
ul.shop-nav li.active, ul.shop-nav li:hover { 
 
    color: #000; 
 
    opacity: 1; 
 
    font-weight: bold; 
 
} 
 
ul.shop-nav li svg { 
 
    width: 10px; 
 
    height: 10px; 
 
    vertical-align: text-bottom; 
 
    fill: #000; 
 
    transition: all 0.3s; 
 
    float: right; 
 
} 
 
ul.shop-nav li ul { 
 
    display: none; 
 
    list-style: none; 
 
    padding-left: 0; 
 
    margin: 12px 0 0; 
 
} 
 
ul.shop-nav li ul li { 
 
    color: #000; 
 
    border: 0 !important; 
 
    font-family: 'maison',sans-serif; 
 
    font-size: 12px; 
 
    letter-spacing: 0; 
 
    padding: 0; 
 
    font-weight: normal; 
 
    text-transform: none; 
 
    margin-bottom: 12px; 
 
} 
 
ul.shop-nav li ul ul { 
 
    margin-left: 16px; 
 
}

答えて

2

ここにあなたは道があります。私が必要としなかったものをすべて削除しました。もう一度追加することができます。カテゴリーをクリックして楽しんでください!

.shop-sidebar { 
 
\t width: 30%; 
 
\t width: calc(295px); 
 
\t display: inline-block; 
 
\t padding-right: 65px; 
 
\t vertical-align: top; 
 
\t font-family: 'maison',sans-serif; 
 
\t font-weight: 600; 
 
\t font-size: 11px; 
 
\t color: #000; 
 
\t letter-spacing: 1.5px; 
 
\t line-height: 18px; 
 
\t text-transform: uppercase; 
 
} 
 
ul.shop-nav { 
 
\t list-style: none; 
 
\t padding: 0; 
 
\t margin: 0; 
 
} 
 
ul.shop-nav li.active, ul.shop-nav li:hover { 
 
\t color: #000; 
 
\t opacity: 1; 
 
\t font-weight: bold; 
 
} 
 
ul.shop-nav li { 
 
\t transition: all 0.3s; 
 
\t cursor: pointer; 
 
\t padding: 18px 20px; 
 
\t background-color: #f8f8f8; 
 
\t margin-bottom: 2px; 
 
} 
 
ul.shop-nav li.active a { 
 
\t color: #000; 
 
} 
 
ul.shop-nav a { 
 
\t color: #000; 
 
} 
 
ul.shop-nav li.active, ul.shop-nav li:hover { 
 
\t color: #000; 
 
\t opacity: 1; 
 
\t font-weight: bold; 
 
} 
 
ul.shop-nav li svg { 
 
\t width: 10px; 
 
\t height: 10px; 
 
\t vertical-align: text-bottom; 
 
\t fill: #000; 
 
\t transition: all 0.3s; 
 
\t float: right; 
 
} 
 
ul.shop-nav li ul { 
 
\t display: none; 
 
\t list-style: none; 
 
\t padding-left: 0; 
 
\t margin: 12px 0 0; 
 
} 
 
ul.shop-nav li ul li { 
 
\t color: #000; 
 
\t border: 0 !important; 
 
\t font-family: 'maison',sans-serif; 
 
\t font-size: 12px; 
 
\t letter-spacing: 0; 
 
\t padding: 0; 
 
\t font-weight: normal; 
 
\t text-transform: none; 
 
\t margin-bottom: 12px; 
 
} 
 
ul.shop-nav li ul ul { 
 
\t margin-left: 16px; 
 
} 
 

 
input[type='checkbox'] { 
 
    display: none; 
 
} 
 

 
#subList, #subListCategory1 { 
 
    display: none; 
 
} 
 

 
#categories:checked ~ #subList { 
 
    display: block; 
 
} 
 

 
#category1:checked ~ #subListCategory1 { 
 
    display: block; 
 
}
<div class='shop-sidebar'> 
 
    <ul class='shop-nav'> 
 
\t <li class="active"><a href="#">What's New</a></li> 
 
\t <li class='w-sub' data-id='shop-categories'> 
 
\t <svg class='s_arrow_down'><use xlink:href="#s_arrow_down"></use></svg> 
 
\t <input type="checkbox" id="categories" /> 
 
\t <label id="label" for="categories">Categories</label> 
 
\t <ul id="subList"> 
 
\t \t <li> 
 
\t \t <input type="checkbox" id="all" /> 
 
\t \t <label id="allLabel" for="all">All</label> 
 
\t \t </li> 
 
\t \t <input type="checkbox" id="category1" /> 
 
\t \t <label id="category1Label" for="category1">Category 1</label> 
 
\t \t <ul id="subListCategory1"> 
 
\t \t <li> 
 
\t \t \t <a href="#">All</a> 
 
\t \t </li> 
 
\t \t <li> 
 
\t \t \t <a href="#"> \t \t \t \t \t \t Sub Category 1 \t \t \t \t \t \t \t </a> 
 
\t \t </li> 
 
\t \t <li> 
 
\t \t \t <a href="#"> \t \t \t \t \t \t Sub Category 2 \t \t \t \t \t \t \t </a> 
 
\t \t </li> 
 
\t \t <li> 
 
\t \t \t <a href="#"> \t \t \t \t \t \t Sub Category 3 \t \t \t \t \t \t \t </a> 
 
\t \t </li> 
 
\t \t <li> 
 
\t \t \t <a href="#"> \t \t \t \t \t \t Sub Category 4 \t \t \t \t \t \t \t </a> 
 
\t \t </li> 
 
\t \t <li> 
 
\t \t \t <a href="#"> \t \t \t \t \t \t Sub Category 5 \t \t \t \t \t \t \t </a> 
 
\t \t </li> 
 
\t \t <li> 
 
\t \t \t <a href="#"> \t \t \t \t \t \t Sub Category 6 \t \t \t \t \t \t \t </a> 
 
\t \t </li> 
 
\t \t <li> 
 
\t \t \t <a href="#"> \t \t \t \t \t \t Sub Category 7 \t \t \t \t \t \t \t </a> 
 
\t \t </li> 
 
\t \t <li> 
 
\t \t \t <a href="#"> \t \t \t \t \t \t Sub Category 8 \t \t \t \t \t \t \t </a> 
 
\t \t </li> 
 
\t \t <li> 
 
\t \t \t <a href="#"> \t \t \t \t \t \t Sub Category 9 \t \t \t \t \t \t \t </a> 
 
\t \t </li> 
 
\t \t </ul> 
 
\t \t <li> 
 
\t \t <a href="#" class="active"> 
 
\t \t \t \t \t \t \t Category 1 \t \t \t \t \t </a> 
 

 

 
\t \t </li> 
 
\t \t <li> 
 
\t \t <a href="#" class="active"> 
 
\t \t \t \t \t \t \t Category 2 \t \t \t \t \t </a> 
 

 
\t \t <ul> 
 

 

 
\t \t \t <li> 
 
\t \t \t <a href="#"> 
 
\t \t \t \t \t \t \t \t All 
 
\t \t \t \t \t \t \t </a> 
 
\t \t \t </li> 
 

 
\t \t \t <li> 
 
\t \t \t <a href="#"> \t \t \t \t \t \t Sub Category 1 \t \t \t \t \t \t \t </a> 
 
\t \t \t </li> 
 
\t \t \t <li> 
 
\t \t \t <a href="#"> \t \t \t \t \t \t Sub Category 2 \t \t \t \t \t \t \t </a> 
 
\t \t \t </li> 
 
\t \t </ul> 
 

 
\t \t </li> 
 
\t \t <li> 
 
\t \t <a href="#" class="active"> 
 
\t \t \t \t \t \t \t Category 3 \t \t \t \t \t </a> 
 

 
\t \t <ul> 
 

 

 
\t \t \t <li> 
 
\t \t \t <a href="#"> 
 
\t \t \t \t \t \t \t \t All 
 
\t \t \t \t \t \t \t </a> 
 
\t \t \t </li> 
 

 
\t \t \t <li> 
 
\t \t \t <a href="#"> \t \t \t \t \t \t Sub Category 1 \t \t \t \t \t \t \t </a> 
 
\t \t \t </li> 
 
\t \t </ul> 
 

 
\t \t </li> 
 

 
\t </ul> 
 
\t </li> 
 

 
    </ul> 
 
</div>

編集:CSSクラスを再び追加します。

Here完全なフィドル。

+0

残念ながら、このコードは機能しませんでした。 「カテゴリ」はクリックできません。 – user6738171

+0

カテゴリをクリックしましたか?たぶんあなたはリスト要素全体をクリックしたいと思うでしょうか?教えてください私はそれを書き直します –

+0

私は最初にそれをチェックしたときにエラーがあったに違いありません。カテゴリをクリックするとサブメニューが表示されます。しかし、ここでカテゴリ内のカテゴリは、クリックするとサブカテゴリをプルダウンしません。 – user6738171

-1

はこのCSSを追加します。

ul.shop-nav li:hover ul { 
    display: block; 
} 

これは以下を行います:

ul.shop-nav li要素の上にマウスを置くと、内部にulネストされたものが表示されます。

+0

ありがとうございます!ただし、メニューはホバー上に表示され、クリックでは表示されません。私はあなたがカテゴリをクリックした場合にのみ表示するサブメニューにしたい。 – user6738171

+0

私の悪い、クリックイベントのためにはJavascriptまたはjQueryを使うべきです。 これを行う方法のリンクは次のとおりです。http://stackoverflow.com/questions/21111946/how-to-add-class-active-on-specific-li-on-user-click-with-jquery Ifあなたはこれに助けが必要です、私に教えてください、私は助けてうれしいです。 – Michael

+0

"W-サブ" あなたのクラスがどこにあるかにIDを追加し、その後、このjQeuryコードを追加します。 ' ' – Michael

関連する問題