TAG
JavaScript
Result
Run
License
<button type="button" id="btn-demo">Show Demo</button>
class MyContent extends HTMLElement { constructor() { super(); const sr = this.attachShadow({ mode: "open" }); const ElStyle = document.createElement("style"); ElStyle.textContent = ` h1 { background-color: yellow; animation: myani 1500ms; } @keyframes myani { to { opacity: 0; } } `; const ElAddH1 = document.createElement("h1"); ElAddH1.textContent = "I am shadow root's element."; sr.append(ElStyle, ElAddH1); } } document.addEventListener("DOMContentLoaded", () => { const ElBtnDemo = document.getElementById("btn-demo"); let elMyContent; ElBtnDemo.addEventListener("click", e => { customElements.define("my-content", MyContent); elMyContent = document.createElement("my-content"); document.body.append(elMyContent); let a_myani = elMyContent.shadowRoot.getAnimations(); a_myani.forEach(ani => { ani.onfinish = e => console.log(`duration: ${e.currentTime}`); }); }); });
Console
expand_less
License
License
by DevDic
Close