如何使用原生js控制video和audio的播放暂停切换

1. video 给按钮添加点击事件 如果想通过controls来控制也可以调用H5C3中视频的方法

1.1 html代码
<div style="text-align:center;">
        <button id="btn">播放/暂停</button>
        <br />
        <video id="video" width="400" style="margin-top:20px;">
            <source src="./img/movie01.mp4" type="video/mp4" />
        </video>
</div>
1.2 JS代码
<script type="text/javascript">
    var video = document.getElementById("video");
    btn.onclick = function () {
        // paused是H5C3中视频里的属性,值为布尔,true代表指示音频/视频已暂停,否则为false.
        // 下面的play()和pause()也是H5C3中的方法
        if (video.paused) {
            video.play();
        } else
            video.pause();
    }
</script>

2. audio 其实操作都是一样的 这个给大家写一个小功能 类似效果像我们平常在手机里播放音乐的时候,当音乐开始,CD会开始旋转,再点击,CD就在当前的位置停止旋转.

 2.1样式
<style>
    img{
        display: block;
        border-radius: 50%;
        margin:50px auto;
    }
    audio{
        display: block;
        margin:50px auto;
    }
    /* 写一个动画剧本来旋转 */
    @keyframes autoRotate{
        from{}
        to{
            transform: rotateZ(360deg)
        }
    }
    /* 通过添加下面这两个类 控制 */
    .rotate{
        animation:autoRotate 100s infinite linear;
    }
    .pause{
        animation-play-state: paused;
    }
    </style>
2.2 html代码
        <!-- 图片代表音乐专辑封面-->
        <img src='img/music.jpg' alt="" class="pic">
        <audio controls src="1.mp3" autoplay></audio>
2.3 js代码
<script>
    var audio=document.querySelector('audio');
    var pic=document.querySelector('.pic');
    audio.onplay=function(){
        //移除
        pic.classList.remove('pause');
        //添加一个旋转的动画
        pic.classList.add('rotate');
    }
    audio.onpause=function(){

        // 这样写会出现闪退到最开始的位置 而不是当前位置
        // document.querySelector('.pic').classList.remove('rotate')
        pic.classList.add('pause');
    }
</script>

在上面中一些用到的方法 参考http://www.w3school.com.cn/html5/html_5_video_dom.asp
以后我会经常来写博客分享 乐于技术交流 不足之处欢迎指教 第一篇 继续fighting!

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用原生的 HTML 和 JavaScript 来实现判断显示隐藏和循环的功能。以下是一个示例: ```html <!DOCTYPE html> <html> <head> <title>判断显示隐藏和循环示例</title> <script> function toggleVisibility() { var element = document.getElementById("myElement"); if (element.style.display === "none") { element.style.display = "block"; } else { element.style.display = "none"; } } function loopExample() { var output = ""; for (var i = 1; i <= 5; i++) { output += "循环第 " + i + " 次<br>"; } document.getElementById("loopOutput").innerHTML = output; } </script> </head> <body> <button onclick="toggleVisibility()">切换显示隐藏</button> <div id="myElement" style="display: none;"> 这是一个要隐藏和显示的元素 </div> <button onclick="loopExample()">循环示例</button> <div id="loopOutput"></div> </body> </html> ``` 在上面的示例中,我们定义了两个 JavaScript 函数 `toggleVisibility()` 和 `loopExample()`。`toggleVisibility()` 函数用于切换指定元素的显示和隐藏,通过获取元素的 `style.display` 属性来判断当前状态并进行切换。`loopExample()` 函数用于循环输出一定次数的文本,在每次循环中将文本内容添加到一个字符串变量中,最后将结果显示在指定的元素中。 在 HTML 部分,我们定义了两个按钮,分别用于触发 `toggleVisibility()` 和 `loopExample()` 函数。另外,我们定义了一个隐藏和显示的 `<div>` 元素,并初始设置为隐藏状态。还有一个用于展示循环结果的 `<div>` 元素。 当点击切换显示隐藏的按钮时,会调用 `toggleVisibility()` 函数来切换隐藏和显示状态。当点击循环示例的按钮时,会调用 `loopExample()` 函数来进行循环并将结果展示在页面中。 这样就实现了使用原生的 HTML 和 JavaScript 来实现判断显示隐藏和循环的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值