Как зациклить фоновое видео и удалить элементы управления, сохраняя при этом мое рандомизированное фоновое видео? - PullRequest
0 голосов
/ 24 мая 2018

Поэтому я делаю свои видео своими фонами, и сценарий обновляется при загрузке или обновлении.

Каждый раз, когда я запускаю свой веб-сайт, я вижу элементы управления для видео менее чем за секунду, а затем воспроизводится видео..

Как я могу удалить это и сделать мой цикл видео?

Также, когда вы zoom out на странице, когда видео заканчивается, вы можете видеть элементы управления.Я добавлю скриншот внизу.

При необходимости я могу предоставить ссылку на мой сайт, где вы сможете увидеть, о чем я говорю.Просто дай мне знать.

.video-background {
  background: #000;
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  overflow: hidden;
  z-index: -100;
  pointer-events: none;
}
.video-foreground,
.video-background iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
#vidtop-content {
	top: 0;
	color: #fff;
}
.vid-info { position: absolute; top: 0; right: 0; width: 33%; background: rgba(0,0,0,0.3); color: #fff; padding: 1rem; font-family: Avenir, Helvetica, sans-serif; }
.vid-info h1 { font-size: 2rem; font-weight: 700; margin-top: 0; line-height: 1.2; }
.vid-info a { display: block; color: #fff; text-decoration: none; background: rgba(0,0,0,0.5); transition: .6s background; border-bottom: none; margin: 1rem auto; text-align: center; }
@media (min-aspect-ratio: 16/9) {
  .video-foreground { height: 300%; top: -100%; }
}
@media (max-aspect-ratio: 16/9) {
  .video-foreground { width: 300%; left: -100%; }
}
@media all and (max-width: 600px) {
.vid-info { width: 50%; padding: .5rem; }
.vid-info h1 { margin-bottom: .2rem; }
}
@media all and (max-width: 500px) {
.vid-info .acronym { display: none; }
}
	    <script>
        var videos = ["./Videos/1.mp4", "./Videos/2.mp4", "./Videos/3.mp4", "./Videos/4.mp4"];
        window.onload = function () {
            var playerDiv = document.getElementById("random_player");
            var player = document.createElement("IFRAME");
            var randomVideoUrl = videos[Math.floor(Math.random() * videos.length)];
            player.setAttribute('width', '100%');
            player.setAttribute('height', '100%');
            player.setAttribute('src', randomVideoUrl);
            playerDiv.appendChild(player);
        };
    </script>
    
    <div class="video-background">
    <div class="video-foreground">
    <div id="random_player" />
    </div>
  </div>
	
    
    

Снимок экрана

1 Ответ

0 голосов
/ 24 мая 2018

Удалить элементы управления:

player.controls = false;

Воспроизвести в цикле:

player.addEventListener('ended', function() {
    this.currentTime = 0;
    this.play();
}, false);

player.play();

Но я вижу, что вы загружаете его в iframe .Это почему?Почему бы вам просто не использовать элемент HTML video ?Это было бы что-то вроде этого:

window.onload = function () {
    var playerDiv = document.getElementById('random_player');
    var player = document.createElement('video');
    var sourceVideo = document.createElement('source');
    var randomVideoUrl = videos[Math.floor(Math.random() * videos.length)];
    player.setAttribute('width', '100%');
    player.setAttribute('height', '100%');
    sourceVideo.setAttribute('src', randomVideoUrl);
    playerDiv.appendChild(player);
    player.appendChild(sourceVideo);
    player.controls = false;
    player.addEventListener('ended', function () {
        this.currentTime = 0;
        this.play();
    }, false);
    player.play();
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...