【发布时间】:2019-04-02 14:19:54
【问题描述】:
我有一个包含两个视频元素的简单块,我有一个我想要的暂停按钮,当用户单击暂停按钮时,它会暂停当前正在播放的视频。
很遗憾,我的方法不起作用。我的代码做错了什么?
document.querySelector("#video-pause_btn").addEventListener('click', function() {
console.log(($(this).attr('id')))
switch ($(this).attr('id')) {
case 'video-player_not-transformed':
pauseVideo();
break;
case 'video-player_transformed':
pauseTransfromedVideo();
break;
}
});
var pauseVideo = function() {
var videoNotTransformed = document.querySelector('#video-player_not-transformed');
videoNotTransformed.pause();
};
var pauseTransfromedVideo = function() {
var videoTransformedID = document.querySelector('#video-player_transformed');
videoTransformedID.pause();
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="video-container">
<div class="video-container_details">
<div id="video-pause_btn" class="video-btn">
<img src="images/stop.png" />
</div>
</div>
<div class="video-conatiner_datavideo">
<video class="videoplayer" id="video-player_not-transformed">
<source src="videos/explainer.mp4" type="video/mp4">
</video>
</div>
<div class="video-container_transformed">
<video id="video-player_transformed" style="width: 300px; height:auto; padding: 30px;">
<source src="videos/transformed.mp4" type="video/mp4">
</video>
</div>
【问题讨论】:
-
您的
switch逻辑已损坏,因为$(this).prop('id')只会返回video-pause_btn,因为这是您分配事件处理程序的元素 -
如果你能帮忙,我需要改变什么才能得到我想要的东西?
标签: javascript jquery html html5-video