javascript - 如何在播放后隐藏leafletJS中的视频叠加层?

标签 javascript html css video leaflet

我正在建立一个在 leafletJS map 上覆盖视频的网站,我希望视频在播放一次后消失(就像预告片一样)。

我是 JS 的新手,所以我尝试了很多 - 我想这与一个已结束的事件有关: https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onended_video

也许可以隐藏图层或将不透明度设置为 0.0?

这就是我的 map 现在的样子:

http://dominique.turzer.eu/index.php/de/

如果您能帮助我找到问题的解决方案,我将不胜感激!!!

<body>
    <div id="mapid" style="width: 80em; height: 50em;"></div>
    <script>

        var mapid = L.map('mapid').setView([41.8939551, 12.479556], 14);

        L.tileLayer('https://stamen-tiles-{s}.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png', {
            maxZoom: 18,
            attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
                '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
                'Imagery © <a href="http://stamen.com">Stamen</a>',
            id: 'mapbox.streets'
        }).addTo(mapid);

        var videoUrls = [
            'http://dominique.turzer.eu/media/mod_osmod/images/Film8.mp4'
        ];
        var bounds = L.latLngBounds([[41.92398333, 12.45647433], [41.863167640465, 12.502337292]]);

        var videoOverlay = L.videoOverlay(videoUrls, bounds, {
            opacity: 0.7,
            loop: false
        }).addTo(mapid);


    </script>
</body>

最佳答案

创建您的视频叠加层:

var videoOverlay = L.videoOverlay(videoUrls, bounds, {
    opacity: 0.7,
    loop: false
}).addTo(mapid);

Get a referenceHTMLVideoElement对于视频叠加:

var videoElement = videoOverlay.getElement();

Attach an event handlerended event HTMLVideoElement 的。在该事件处理程序中,remove map 上的视频叠加层:

videoElement.addEventListener('ended', function(){
    videoOverlay.remove();
});

您也可以使用 Leaflet DOM 事件包装器:

L.DomEvent.on(videoElement, 'ended', function(){
    videoOverlay.remove();
});

关于javascript - 如何在播放后隐藏leafletJS中的视频叠加层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50321327/

相关文章:

javascript - 如果鼠标不动,如何使叠加层淡出?

html - CSS:内联样式应用于 <fieldset> 但是当我将相同的代码写入外部 css 并通过 id 引用时,没有应用任何样式

javascript - 如何在 Canvas 中创建杜瓦尔五 Angular 大楼

javascript - 通过html传递对象变量

javascript - 在 Google Maps API v3 中有效启用事件传播

javascript - Firefox 元素高度问题

javascript - 动态添加选项(tokenize.js)

html - 纯 CSS :hover display:

html - 当位置绝对时,Div child 不听 CSS

html - Bootstrap 响应式图像网格