HTML,CSSでアコーディオンページを作成しました。
画像の、「メニュー1」のボタンを押すと、そのまま画面遷移する仕様、
「メニュー2」を押すと、アコーディオンが開いて、下の「詳細内容に遷移」というボタンが現れ、これを押すと画面遷移する仕様、で作成しております。
上記の、「「メニュー1」のボタンを押すと、そのまま画面遷移する仕様」は、うまく動作するのですが、
「メニュー2」がうまく動きません。
一瞬遷移した画面が表示されるのですが、なぜかすぐ元の画面に戻ってしまいます。
遷移先指定をしているため、何がよくないのかわからず、恐れ入りますがご教示いただけますと幸いです。
どうぞよろしくお願いいたします。
html
1<template> 2 <div class="ac_menu"> 3 <label for="Panel1" 4 ><v-btn depressed @click="moveToApplicability()" 5 ><span>▶︎ メニュー1</span></v-btn 6 ></label 7 > 8 9 <input type="checkbox" id="Panel1" class="on-off" /> 10 <div> 11 <p>コンテンツが入ります。</p> 12 </div> 13 14 <label for="Panel2">▶︎ メニュー2</label> 15 <input type="checkbox" id="Panel2" class="on-off" /> 16 <div> 17 <li> 18 <a href="" 19 ><v-btn 20 class="menu-btn" 21 depressed 22 @click="moveList()" 23 ><span class="menu-arrow">▶︎ 詳細内容に遷移</span></v-btn 24 ></a 25 > 26 </li> 27 </div> 28 </div> 29</template>
Script
1<script lang="ts"> 2import Vue from 'vue' 3export default Vue.extend({ 4 methods: { 5 moveToApplicability() { 6 this.$router.push('/quotation-request/applicability') 7 }, 8 moveList() { 9 this.$router.push('/store/list') 10 }, 11 } 12}) 13</script> 14
CSS
1<style scoped> 2.ac_menu { 3 width: 300px; 4} 5.ac_menu label { 6 background: #333; 7 color: #fff; 8 padding: 10px; 9 display: block; 10 margin: 0; 11 border: 1px solid #fff; 12 cursor: pointer; 13} 14.ac_menu input[type='checkbox'].on-off { 15 display: none; 16} 17 18.ac_menu div { 19 -webkit-transition: all 0.5s; 20 -moz-transition: all 0.5s; 21 -ms-transition: all 0.5s; 22 -o-transition: all 0.5s; 23 transition: all 0.5s; 24 margin: 0; 25 padding: 0 10px; 26 list-style: none; 27} 28.ac_menu input[type='checkbox'].on-off + div { 29 height: 0; 30 overflow: hidden; 31} 32.ac_menu input[type='checkbox'].on-off:checked + div { 33 height: 100px; 34} 35.menu-arrow { 36 color: black; 37} 38</style>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/28 01:32