Ich arbeite an einem Video-Player, der ein Video in einen iframe innerhalb eines div-Overlays startet. Ich möchte in jedem Link einen repetitiven Code wie onclick =() vermeiden und externe Bibliotheken wie jQuery vermeiden, da jQuery beim Start meines Videofensters einen unangenehmen flackernden Bildschirm erzeugt.show hide div vom Klassennamen pure javascript
Mein Problem ist, dass mit meiner bisherigen Arbeit nur der erste Link das Video-Overlay öffnet. Ich verstehe (etwas), dass [0] das erste Element in einem Array anzeigt. Kann ein Array einen unendlichen Zahlenbereich enthalten, oder gibt es hier einen besseren Weg, mein Ziel zu erreichen? Es wird möglicherweise Tausende von Videos in diesen Galerien geben, daher ist es nicht praktisch, sie in meinem Skript einzeln aufzulisten.
Ich kämpfe immer noch zu lernen, so würde ein Arbeitsbeispiel sehr geschätzt werden. Dank
Meine Arbeit so weit
https://jsfiddle.net/4oomb9rt/
Beispielcode
<!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>
Vielen Dank an alle für die Versuche, mir zu helfen, zu verstehen. Besonders dank Mohd für das Arbeitsbeispiel –