MDC-WebのSnackbarをメッセージを表示するためだけに使う
Material Components for the web(MDC-Web)のSnackbarを、メッセージを表示するためだけに使う。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="https://unpkg.com/material-components-web@latest/dist/material-components-web.min.css"> <script src="https://unpkg.com/material-components-web@latest/dist/material-components-web.js"></script> </head> <body> <h1>snackbar-scripting</h1> <button type="button" onclick="showMessagebar('メッセージ')">button</button> <script> // showMessagebar関数を定義 window.showMessagebar = (function (message) { var element; var snackbar; var createElement = function () { var element = document.createElement('div'); element.id = 'messagebar'; element.className = 'mdc-snackbar'; element.setAttribute('aria-live', 'assertive'); element.setAttribute('aria-atomic', true) element.setAttribute('aria-hidden', true); element.innerHTML = [ '<div class="mdc-snackbar__text"></div>', '<div class="mdc-snackbar__action-wrapper">', ' <button type="button" class="mdc-button mdc-snackbar__action-button"></button>', '</div>' ].join('\n'); return element; }; // showMessagebarの実体 return function (message) { if (!element) { element = createElement(); document.body.appendChild(element); } snackbar = snackbar || new mdc.snackbar.MDCSnackbar(element); snackbar.show({ message: message }); // 必ず一定時間後に消去するために、アクションがクリックされたことにする snackbar.foundation_.actionWasClicked_ = true; }; })(); </script> </body> </html>