パーツ番号 11-14-11 ・ JavaScript使用
オフライン→オンライン切替時のトースト通知
接続状態が切り替わるたびに画面下部からトーストが現れ、数秒後に自動で消える通知演出。WordPressの会員ページやSPA的なテーマで、通信状態の変化を控えめに知らせるのに使えます。
プレビュー
ソースコード
HTML
<div class="d11-14-11-wrap">
<div class="d11-14-11-frame">
<div class="d11-14-11-body">
<p class="d11-14-11-line">設定: 通知の受信をオンにしています</p>
<p class="d11-14-11-line">プロフィール: 最終ログイン今日</p>
</div>
<div class="d11-14-11-toast" id="d1967Toast"></div>
</div>
<button type="button" class="d11-14-11-toggle" id="d1967Toggle">オフラインにする</button>
</div>CSS
.prev.d11-14-11{align-items:flex-start;justify-content:flex-start}
.d11-14-11-wrap{width:100%}
.d11-14-11-frame{position:relative;height:150px;overflow:hidden;border-radius:12px;background:#f8f9fb;border:1px solid #eef0f3}
.d11-14-11-body{padding:14px 12px;display:flex;flex-direction:column;gap:8px}
.d11-14-11-line{margin:0;font-size:11.5px;color:#374151;background:#fff;border:1px solid #eef0f3;border-radius:8px;padding:8px 10px}
.d11-14-11-toast{position:absolute;left:8px;right:8px;bottom:8px;transform:translateY(140%);opacity:0;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:700;color:#fff;text-align:center;transition:transform .3s ease,opacity .3s ease;z-index:4}
.d11-14-11-toast.show{transform:translateY(0);opacity:1}
.d11-14-11-toast.is-offline{background:#dc2626}
.d11-14-11-toast.is-online{background:#059669}
.d11-14-11-toggle{margin-top:10px;width:100%;padding:9px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s}
.d11-14-11-toggle:hover{background:#f3f4f6}JavaScript
(function(){
var root=document.querySelector('.d11-14-11');
var toast=root.querySelector('#d1967Toast');
var btn=root.querySelector('#d1967Toggle');
var offline=false,hideTimer=null;
btn.addEventListener('click',function(){
offline=!offline;
toast.classList.remove('is-offline','is-online');
toast.classList.add(offline?'is-offline':'is-online');
toast.textContent=offline?'オフラインになりました':'オンラインに戻りました';
toast.classList.add('show');
if(hideTimer)clearTimeout(hideTimer);
hideTimer=setTimeout(function(){toast.classList.remove('show');},1800);
btn.textContent=offline?'オンラインにする':'オフラインにする';
});
})();クラス名 .d11-14-11 は本ライブラリ内での識別用です。複数のパーツを同じページで使う場合は、重複しないよう名前を変更してください。