qq_34571911 2019-06-11 13:28 采纳率: 80%
浏览 347
已采纳

JS控制播放按钮出错。

js控制video播放和暂停,并切换class Name,一个VIDEO是正常的,2个就出错了,如何解决。

 <button class="aa_2" onClick="toggleHandle(this)">切换1</button>
<video class="video" controls><source src="222.mp4"  type="video/mp4"></video>


<button class="aa_2b" onClick="toggleHandleb(this)">切换2</button>
<video class="videob" controls><source src="333.mp4"  type="video/mp4"></video>



    <script>
         var video = document.getElementsByClassName("video")[0];
        function toggleHandle(e) {
            if(e.className.indexOf('aa_2') > -1) {
                e.className = 'aa2'
                video.play()
            } else {
                e.className = 'aa_2'
                video.pause()
            }
        }


        var video = document.getElementsByClassName("videob")[0];
        function toggleHandleb(e) {
            if(e.className.indexOf('aa_2b') > -1) {
                e.className = 'aa2b'
                video.play()
            } else {
                e.className = 'aa_2b'
                video.pause()
            }
        }
    </script>
  • 写回答

4条回答 默认 最新

  • qq_24581629 2019-06-11 13:52
    关注

    video命名冲突了,2个video节点都赋值给变量名video了,导致2个控制按钮都是控制的第2个video标签,第一个video的控制播放无效

    <!DOCTYPE html>
    <html>
    <head> 
    <meta charset="utf-8"> 
    <title>JS控制播放按钮</title> 
    </head>
    <body>
        <button class="aa_2" onClick="toggleHandle(this)">切换1</button>
    <video class="video" controls><source src="222.mp4"  type="video/mp4"></video>
    
    
    <button class="aa_2b" onClick="toggleHandleb(this)">切换2</button>
    <video class="videob" controls><source src="333.mp4"  type="video/mp4"></video>
    
    
    
        <script>
             var video = document.getElementsByClassName("video")[0];
            function toggleHandle(e) {
                if(e.className.indexOf('aa_2') > -1) {
                    e.className = 'aa2'
                    video.play()
                } else {
                    e.className = 'aa_2'
                    video.pause()
                }
            }
    
    
            var videob = document.getElementsByClassName("videob")[0];
            function toggleHandleb(e) {
                if(e.className.indexOf('aa_2b') > -1) {
                    e.className = 'aa2b'
                    videob.play()
                } else {
                    e.className = 'aa_2b'
                    videob.pause()
                }
            }
        </script>
    
    </body>
    </html>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 8月27日

悬赏问题

  • ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退