📜  HTML | DOM onplay 事件(1)

📅  最后修改于: 2023-12-03 14:41:48.454000             🧑  作者: Mango

HTML | DOM onplay 事件

简介

在 HTML5 中,视频和音频标签都有一个 onplay 事件,它会在媒体开始播放时触发。通过 onplay 事件,我们可以在媒体开始播放时执行一些自定义的 JavaScript 代码。例如,我们可以在用户开始观看视频时,通过 onplay 事件,向后台发送数据、改变页面样式、执行动画等。

使用方法
1. 使用 HTML 属性

我们可以使用 HTML 属性来绑定一个 onplay 事件处理函数。在标签中添加 onplay 属性并赋值处理函数即可。

例如,在一个 video 标签中,我们可以添加以下代码,当视频开始播放时,会调用 playMedia 函数:

<video onplay="playMedia()">
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  Your browser does not support the video tag.
</video>
2. 使用 JavaScript

我们也可以通过 JavaScript 绑定 onplay 事件处理函数,如下所示:

<video id="myVideo" src="movie.mp4" onplay="playMedia()"></video>
<script>
  const myVideo = document.getElementById('myVideo');
  myVideo.onplay = function() {
    console.log('Video is playing');
  }
</script>

在这个例子中,我们首先获取了一个 video 标签的引用,并绑定了 onplay 事件处理函数。当视频开始播放时,就会调用处理函数并打印一条消息。

示例

以下代码演示了如何使用 onplay 事件来改变页面背景颜色:

<!DOCTYPE html>
<html>
<head>
  <style>
    body {
      background-color: #eee;
      transition: background-color 1s ease;
    }
    video {
      display: block;
      margin: 0 auto;
      width: 40%;
    }
  </style>
</head>
<body>
  <video id="myVideo" src="movie.mp4" onplay="playMedia()"></video>
  <script>
    function playMedia() {
      document.body.style.backgroundColor = '#333';
    }
  </script>
</body>
</html>

在这个例子中,当视频开始播放时,背景颜色会从 #eee 变为 #333,营造出更好的观看体验。

代码说明

在这个例子中,我们定义了一个 body 标签的初始背景颜色为 #eee,为了让颜色过渡显得平滑,我们给其添加了一个过渡动画。video 标签会自动居中显示,宽度为 40%。

当我们播放视频时,会触发 onplay 事件,并执行 playMedia 函数,该函数会将 body 标签的背景颜色从 #eee 改为 #333。

总结

使用 onplay 事件,我们可以在媒体开始播放时执行一些自定义的 JavaScript 代码。它是处理视频和音频交互的关键之一。在实际开发中,我们可以利用 onplay 事件来改善用户体验,例如执行一些动画或者记录用户行为。