パーツ番号 04-14-05 ・ JavaScript使用
はい/いいえのスワイプ式アンケート
ボタンを押すとカードが左右に流れて次の状態を表示するスワイプ風演出です。簡易満足度アンケートやYES/NOアンケートに使えます。
プレビュー
ソースコード
HTML
<div class="d04-14-05-wrap">
<p class="d04-14-05-q">今回の対応にご満足いただけましたか?</p>
<div class="d04-14-05-card">
<span class="d04-14-05-face">🙂</span>
<p class="d04-14-05-result">左右のボタンで回答してください</p>
</div>
<div class="d04-14-05-btns">
<button type="button" class="d04-14-05-no">いいえ</button>
<button type="button" class="d04-14-05-yes">はい</button>
</div>
</div>CSS
.d04-14-05-wrap{width:min(280px,100%);text-align:center}
.d04-14-05-q{margin:0 0 12px;font-size:12.5px;color:#333;font-weight:700}
.d04-14-05-card{
padding:18px 10px;border-radius:12px;background:#f6f7fb;margin-bottom:14px;
transition:transform .3s ease,opacity .3s ease;
}
.d04-14-05-card.fly-yes{transform:translateX(60px) rotate(8deg);opacity:0}
.d04-14-05-card.fly-no{transform:translateX(-60px) rotate(-8deg);opacity:0}
.d04-14-05-face{display:block;font-size:30px}
.d04-14-05-result{margin:8px 0 0;font-size:11px;color:#8a93a3}
.d04-14-05-btns{display:flex;justify-content:center;gap:12px}
.d04-14-05-btns button{
padding:9px 18px;font-size:13px;font-weight:700;border-radius:99px;cursor:pointer;
border:2px solid #d5d9e0;background:#fff;color:#444;
}
.d04-14-05-yes{border-color:#22b573;color:#22b573}
.d04-14-05-no{border-color:#e5484d;color:#e5484d}JavaScript
(function(){
var wrap=document.querySelector('.d04-14-05-wrap');
if(!wrap)return;
var card=wrap.querySelector('.d04-14-05-card');
var face=wrap.querySelector('.d04-14-05-face');
var result=wrap.querySelector('.d04-14-05-result');
function answer(cls,emoji,text){
card.classList.add(cls);
setTimeout(function(){
face.textContent=emoji;
result.textContent=text;
card.classList.remove('fly-yes','fly-no');
},280);
}
wrap.querySelector('.d04-14-05-yes').addEventListener('click',function(){
answer('fly-yes','😊','ご回答ありがとうございます!');
});
wrap.querySelector('.d04-14-05-no').addEventListener('click',function(){
answer('fly-no','😞','貴重なご意見ありがとうございます');
});
})();クラス名 .d04-14-05 は本ライブラリ内での識別用です。複数のパーツを同じページで使う場合は、重複しないよう名前を変更してください。