前提・実現したいこと
モーダルウィンドウ内で設置したボタンを
同じモーダルウィンドウ内の指定の場所に飛ばしたいです。
発生している問題・エラーメッセージ
ボタンをクリックすると動きはあるが指定の場所まで飛ばない。
該当のソースコード
HTML
<div class="section-talk-link"><a id="modal__btn16" class="button2 modal__opner2">モーダルウィンドウを開く</a></div> <div id="modal16"> <div class="modal__inner2"> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <div class="modal__inner2-intro"> <p class="modal__inner2-intro-title">タイトル</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> </div> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> </div> <p class="modal__inner2-link" id="btn">ボタン</p> <div class="modal__inner2-about"> <p class="modal__inner2-about-title">タイトル</p> <div class="modal__inner2-about-text"> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> <p>テキスト</p> </div> </div> <p class="modal__inner2-about-title" id="point">この位置に飛ばしたい</p> </div> <div id="close__btn16" class="modal__closer2">✕</div> </div> <div id="overlay16" class="modal__closer2"></div>
css
.section-talk-link a { position: relative; border: 1px solid #fff; width: 270px; height: 50px; display: flex; justify-content: center; align-items: center; color: #fff; background-color: #222; text-decoration: none; } .section-talk-link a:before { content: ''; display: block; position: absolute; top: -5px; left: -5px; border: 2px solid #222; width: calc(100% + 6px); height: calc(100% + 6px); } .button2 { display: inline-block; text-align: right; color: #FFF; margin: 0 auto 120px; border: 1px solid; cursor: pointer; position: relative; } .button2::after { content: ""; display: block; position: absolute; top: calc(50% - 5px); right: 20px; width: 20px; height: 5px; border: none; border-right: 2px solid #FFF; border-bottom: 1px solid #FFF; transform: skew(45deg); transition: .3s; } .button2:hover::after { right: 10px; width: 30px; } /* モーダルウィンドウ */ #modal16 { background: #fff; display: none; padding: 30px; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); height: 70%; width: 60%; z-index: 11; } .modal__inner2 { height: 100%; overflow-y: scroll; } .modal__inner2-text { text-align: left; } .modal__inner2-intro { margin: 30px 0; text-align: left; } .modal__inner2-intro-title { display: inline-block; font-size: 1.8rem; font-weight: 500; color: #fff; background-color: #222; padding: 4px 8px; } .modal__inner2-about-text { text-align: left; margin-bottom: 40px; } .modal__inner2-attention p { text-align: left; } .modal__inner2-attention a { color: #222; } .modal__inner2-link a { font-size: 1.8rem; color: #fff; text-decoration: none; background-color: #222; padding: 8px 12px; } .modal__inner2-link { margin-bottom: 50px; } .modal__inner2-about-title { font-size: 2rem; font-weight: 600; margin-bottom: 30px; } #close__btn16 { background: #fff; border-radius: 50%; cursor: pointer; position: absolute; bottom: -20px; left: 50%; transform: translate(-50%, 100%); text-align: center; line-height: 40px; height: 40px; width: 40px; z-index: 10; } #close__btn16:hover { opacity: .8; } #overlay16 { background: rgba(0,0,0,.7); display: none; cursor: pointer; position: fixed; top: 0; left: 0; height: 100%; width: 100%; z-index: 10; }
js
$(function () { $('#modal__btn16').click(function(){ $('#modal16, #overlay16').fadeIn(); scrollPosition = $(window).scrollTop(); $('body').addClass('fixed').css({'top': -scrollPosition}); }) $('#overlay16 , #close__btn16').click(function(){ $('#modal16, #overlay16').fadeOut(); $('body').removeClass('fixed').css({'top': 0}); window.scrollTo( 0 , scrollPosition ); }) $('#btn').on('click',function(){ var isPosition = $('#form').position(); console.log(isPosition.top); $(".modal__inner2").animate({scrollTop:isPosition.top - 30}, 300); }); });
試したこと
下記ページ内リンクの方法を試しましたが、動きませんでした。
<div class="modal__inner2-link"><a href="#point">ボタン</a></div> (略) <p class="modal__inner2-about-title" id="point">この位置に飛ばしたい</p>
補足情報(FW/ツールのバージョンなど)
DreamWeberの最新バージョンを使用しています。
まだ回答がついていません
会員登録して回答してみよう