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>

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>

var video = document.getElementsByClassName("video")[0];
var video = document.getElementsByClassName("videob")[0];
你这么写的话,因变量声明提升的原因,其实video被赋值的是始终是videob这个,所以222.mp4根本无法控制,建议重新给videob赋个变量

两个video分别初始化的时候分别命名,楼上说得对

你为什么不在点击切换的时候动态吧src链接给换了呢