outstock_nuxt3/components/common/modals/VideoModal.vue

38 lines
1014 B
Vue
Raw Permalink Normal View History

2023-08-01 11:11:43 +00:00
<template>
<div id="video-overlay" class="video-overlay" @click="closeVideo">
<a class="video-overlay-close" @click.prevent="closeVideo">×</a>
</div>
</template>
<script>
export default {
props: {
videoUrl: {
type:String,
default:'https://www.youtube.com/embed/EW4ZYb3mCZk',
required:true,
},
},
methods: {
playVideo() {
const videoOverlay = document.querySelector("#video-overlay");
let iframeElement = document.createElement("iframe");
iframeElement.setAttribute("src", this.videoUrl);
iframeElement.style.width = "60%";
iframeElement.style.height = "80%";
videoOverlay?.classList.add("open");
videoOverlay.appendChild(iframeElement);
},
closeVideo() {
const videoOverlay = document.querySelector("#video-overlay.open"),
iframeElement = document.querySelector("#video-overlay.open iframe");
videoOverlay?.classList.remove("open");
iframeElement?.remove();
},
},
};
</script>