Я работаю над видеопроигрывателем, который запускает видео в iframe в оверлее div. Я хочу избежать повторного кода, такого как onclick =() в каждой ссылке, и хочу избегать внешних библиотек, таких как jQuery, потому что jQuery создает неприятный мерцающий экран при запуске моего видеоокна.show hide div от имени класса чистый javascript
Моя проблема заключается в том, что с моей работой до сих пор только первая ссылка открывает видеоизображение. Я (несколько) понимаю, что [0] указывает первый элемент в массиве. Может ли массив содержать бесконечный числовой диапазон, или есть лучший способ выполнить мою цель здесь? В этих галереях потенциально будет тысячи видеороликов, поэтому перечисление их по одному в моем сценарии нецелесообразно.
Я по-прежнему изо всех сил стараюсь учиться, поэтому был бы весьма полезен рабочий пример. Благодаря
Моя работа до сих пор
https://jsfiddle.net/4oomb9rt/
пример кода
<!doctype html>
<html>
<head>
<title>Video Overlay</title>
<style>
body {
margin: 0;
font-family: arial;
}
#vidPlayer {
height: 100%;
width: 100%;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: #000;
overflow: hidden;
transition: 0.5s;
display: none;
color: white;
}
.closebtn {
position: absolute;
top: 7px;
right: 7px;
font-size: 50px;
}
.openbtn {
font-size: 30px;
}
.openbtn, .closebtn {
max-height: 48px;
max-width: 48px;
min-height: 48px;
min-width: 48px;
border-radius: 7px;
line-height: 12px;
}
.vidContent {
width: 100%;
text-align: center;
font-size: 32px;
}
</style>
</head>
<body>
<div id="vidPlayer">
<button class="closebtn">×</button>
<div class="vidContent">vidplayer content</div>
</div>
<button class="openbtn">☰</button>
<button class="openbtn">☰</button>
<button class="openbtn">☰</button>
<script>
function openNav() {
document.getElementById("vidPlayer").style.display = "block";
}
function closeNav() {
document.getElementById("vidPlayer").style.display = "none";
}
var opener = document.getElementsByClassName('openbtn')[0];
opener.addEventListener("click", function(e) {
openNav();
}, false);
var closer = document.getElementsByClassName('closebtn')[0];
closer.addEventListener("click", function(e) {
closeNav();
}, false);
</script>
</body>
</html>
Спасибо всем за попытки помочь мне понять. Особенно спасибо Мохду за рабочий пример –