パーツ番号 06-14-10 ・ JavaScript使用
メール共有フォームのスライド展開
ボタンを押すとメールアドレス入力欄が下にスライド展開する。会員限定コンテンツの紹介・招待シェアに使えます。
プレビュー
ソースコード
HTML
<div class="d06-14-10-wrap">
<button class="d06-14-10-btn" type="button">メールでシェア</button>
<div class="d06-14-10-form">
<input class="d06-14-10-input" type="email" placeholder="相手のメールアドレス" />
<button class="d06-14-10-send" type="button">送信</button>
</div>
</div>CSS
.d06-14-10-wrap { display:flex; flex-direction:column; align-items:center; gap:10px; width:100%; max-width:230px; }
.d06-14-10-btn { border:none; border-radius:999px; background:#3b82f6; color:#fff; padding:9px 16px; font-size:12.5px; font-weight:700; cursor:pointer; }
.d06-14-10-form { display:flex; gap:6px; width:100%; max-height:0; opacity:0; overflow:hidden; transition:max-height .3s ease, opacity .3s ease; }
.d06-14-10-form.is-open { max-height:44px; opacity:1; }
.d06-14-10-input { flex:1; min-width:0; border:1px solid #e5e7eb; border-radius:999px; padding:7px 10px; font-size:11.5px; }
.d06-14-10-send { border:none; background:#111827; color:#fff; border-radius:999px; padding:7px 12px; font-size:11.5px; cursor:pointer; }JavaScript
(function(){
var root = document.querySelector('.d06-14-10');
var btn = root.querySelector('.d06-14-10-btn');
var form = root.querySelector('.d06-14-10-form');
var send = root.querySelector('.d06-14-10-send');
btn.addEventListener('click', function(){
form.classList.toggle('is-open');
});
send.addEventListener('click', function(){
send.textContent = '送信済み';
setTimeout(function(){ send.textContent = '送信'; }, 1800);
});
})();クラス名 .d06-14-10 は本ライブラリ内での識別用です。複数のパーツを同じページで使う場合は、重複しないよう名前を変更してください。