Мне нужно, чтобы при клике на кнопку запускалось видео, я это сделал и все работает, но проблема в том, если на одной странице несколько видео при клик на любую кнопку запускается только первой видео
<div class="video_with_link">
<video id="video" width="380px" height="250px" src="video/videoplayback.mp4" class="PlayStopVideo"></video>
<input type="button" class="PlayStopVideo">
</div>
<div class="video_with_link">
<video id="video" width="380px" height="250px" src="video/videoplayback.mp4" class="PlayStopVideo"></video>
<input type="button" class="PlayStopVideo">
</div>
<script>
var video;
window.onload = function() {
video = document.getElementById("video");
}
$(document).on('click','.PlayStopVideo',function(){
if(video.paused) {
video.play();
}
else {
video.pause();
}
});
</script>
Я понимаю, что нельзя, чтобы на одной странице был один и тот же ID, но писать 10 функций для 10 видео как-то не хочется, хотелось бы универсальную функцию
Вам нужно сделать 2 разных id для video и передавать их в виде аргумента управляющей функции. внутри функции добераться до элемента будете так.
function video(id){
var video = document.getElementById(id)
video.play();
}
Что бы ещё упростить можно для каждой кнопке передать data-id=" нужное id видео для кнопки" и по this в обработчике click вытаскивать его и ставить в функцию.
var video;
$(document).on('click','.PlayStopVideo',function(){
video = document.getElementById(this.dataset.videoID);
if(video.paused) {
video.play();
}
else {
video.pause();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="video_with_link">
<video id="video1" width="380px" height="250px" src="video/videoplayback.mp4" class="PlayStopVideo"></video>
<input type="button" class="PlayStopVideo" data-videoID="video2">
</div>
<div class="video_with_link">
<video id="video2" width="380px" height="250px" src="video/videoplayback.mp4" class="PlayStopVideo"></video>
<input type="button" class="PlayStopVideo" data-videoID="video2">
</div>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Подскажите как установить в Ubuntu 1604 свежие версии NPM и Node
Что такое arraysort(ASCX)? Что в данном случае означает ASCX? Или array
В JS нет многопоточности, и цикл не передаст управление следующему ивенту пока не выполнитсяБолее подробнее про eventloop можно посмотреть тут
Непонятно, как избавиться от замечаний к коду: на строке 101 Promiseall заворачиваете в промис - это не нужно делать, Promise