ページ内に「さらに読む」のアコーディオンを設置し、クリックで開閉を操作しているのですが、アコーディオンを閉じる際にタイトルの上部にスムーススクロールで戻るような動きをつけたいと思っています。 色々試行錯誤してみたのですが、記述方法がわからず苦戦しています。 お知恵お貸しいただけましたら幸いです。
▼▼▼HTMLはこうなっている▼▼▼▼
HTML
1 2<div style="margin:60px 0">余白用</div> 3<section class="story inner" id="anc1"> 4<h2 class="sec-ttl">STORY</h2> 5<div class="story__desc"> 6<div class="story__txt"> 7テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキテキストテキストテキストテキストテキ 8<p class="story-read-bg story-read-ps"><span class="story-read">さらに見る</span></p> 9</div> 10</div> 11</section> 12<div style="margin:500px 0">余白用</div> 13<style> 14 .story{width:400px;margin:0 auto;} 15.story__desc{ 16 border: 4px solid #000; 17 padding: 40px 7% 30px; 18 margin: 0 auto; 19 position: relative; 20 height: 150px; 21 overflow: hidden; 22} 23.story__desc.more{ 24 height: auto; 25} 26.story-read-bg{ 27 background: rgba(0, 0, 0, 0) linear-gradient(180deg, rgba(255, 255, 255, 0.5), white) repeat scroll 0 0; 28 text-align: center; 29} 30.story-read-ps{ 31 width: 100%; 32 height: 70px; 33 position: absolute; 34 bottom: 0px; 35 left: 0; 36} 37.story-read img{ 38 width: 100px; 39} 40.story-read img:hover{ 41 cursor: pointer; 42} 43.btn{ 44 text-align: center; 45 border: 3px solid #000; 46 width: 120px; 47 margin: 40px auto 0; 48} 49.btn a{ 50 display: block; 51 padding: 10px 0px 8px; 52 font-weight: bold; 53} 54.story-read{ 55 background:red; 56 padding:10px; 57 color:#fff; 58 font-weight: bold; 59} 60</style> 61 62<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 63<script> 64$( function() { 65 $( '.story__desc' ).each( function() { 66 var height = $( this ).find( '.story__txt' ).height(); 67 $( ".story-read" ).on( 'click', function() { 68 if ( $( this ).hasClass( 'active' ) ) { 69 $( '.story__desc' ).stop().animate( { 'height': '150px' }, 'slow' ); 70 } else { 71 $( '.story__desc' ).stop().animate( { 'height': height + 'px' }, 'slow' ); 72 } 73 $( this ).toggleClass( 'active' ); 74 } ); 75 } ); 76} ); 77 78</script> 79 80 81</body> 82</html>
上部に記載してある
<section class="story inner" id="anc1"> にID指定をし、aタグで飛ばす方法等色々模索してみたのですが、スムーススクロールを入れるとアコーディオンが閉じなくなったり、スムーススクロールが効かずにカクンと一気に動いたりし苦戦しております。詳しい方お力貸していただけましたら幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/26 09:09 編集
2021/03/26 09:03
2021/03/26 09:04
2021/03/26 09:04
2021/03/26 09:05
2021/03/26 09:05
2021/03/26 09:06
2021/03/26 09:08
2021/03/26 09:17
2021/03/26 09:23
2021/03/26 09:31
2021/03/26 09:36