<header>
  <h2 class="title">Подія "loadstart"</h2>
  <p class="description">Викликається на початку завантаження ресурсу, наприклад, відео або файлу.</p>
</header>
<main>
  <div class="result">
    <button id="loadVideoBtn">Завантажити відео</button>
    <p id="statusMessage">Натисніть кнопку для завантаження відео.</p>
    <div id="loader" style="display: none;">⏳ Завантаження...</div>
    <video id="videoPlayer" controls style="display: none; width: 100%; max-width: 500px;">
      Ваш браузер не підтримує відео.
    </video>
  </div>
</main>
body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

button {
  padding: 10px 20px;
  background-color: #4CAF50;
  color: white;
  border: none;
  cursor: pointer;
}

button:hover {
  background-color: #45a049;
}

#statusMessage {
  margin-top: 15px;
  font-weight: bold;
}

#loader {
  margin-top: 15px;
  font-size: 18px;
  color: #ff0000;
}
document.getElementById('loadVideoBtn').addEventListener('click', function() {
  const video = document.getElementById('videoPlayer');
  const loader = document.getElementById('loader');
  const statusMessage = document.getElementById('statusMessage');

  // Показуємо індикатор завантаження і оновлюємо статус
  loader.style.display = 'block';
  statusMessage.textContent = 'Завантаження відео розпочалося...';

  // Прив'язуємо подію loadstart до відео
  video.addEventListener('loadstart', function() {
    loader.style.display = 'block';
    statusMessage.textContent = 'Завантаження відео розпочалося...';
  });

  // При завантаженні відео ховаємо індикатор завантаження
  video.addEventListener('canplay', function() {
    loader.style.display = 'none';
    statusMessage.textContent = 'Відео готове до відтворення.';
    video.style.display = 'block';
  });

  // Завантажуємо відео
  video.src = 'https://www.w3schools.com/html/mov_bbb.mp4';
  video.load();
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.