Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 暂停第一个孩子的视频?_Javascript_Html_Css - Fatal编程技术网

Javascript 暂停第一个孩子的视频?

Javascript 暂停第一个孩子的视频?,javascript,html,css,Javascript,Html,Css,对Javascript来说是个全新的概念,我在任何地方都很难找到解决方案。我不确定问题是与firstChild有关,还是与.pause()有关 “tabcontent[i].firstChild.pause()”行打断了整个函数 这是一个带有有效代码的示例,但没有图像/视频,因为它们仍然是本地的 下面是生效代码: HTML: 然后是Javascript: function openVideo(evt, videoName) { var i, tabcontent, tabli

对Javascript来说是个全新的概念,我在任何地方都很难找到解决方案。我不确定问题是与firstChild有关,还是与.pause()有关

“tabcontent[i].firstChild.pause()”行打断了整个函数

这是一个带有有效代码的示例,但没有图像/视频,因为它们仍然是本地的

下面是生效代码:

HTML:


然后是Javascript:

function openVideo(evt, videoName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
    tabcontent[i].firstChild.pause()
}
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(videoName).style.display = "block";
evt.currentTarget.className += " active";
}
函数openVideo(evt,videoName){
var i,tabcontent,tablinks;
tabcontent=document.getElementsByClassName(“tabcontent”);
对于(i=0;i
问题不在于
pause()
,而在于
firstChild
。视频元素将成为第二个孩子
firstChild
#text

使用
childNodes[1]
访问第二个子节点,即视频

tabcontent[i].childNodes[1].pause();
JS


函数openVideo(evt,videoName){
var i,tabcontent,tablinks;
tabcontent=document.getElementsByClassName(“tabcontent”);
对于(i=0;i

tabcontent[i].childNodes[1].pause();
 <script>
    function openVideo(evt, videoName) {
    var i, tabcontent, tablinks;
    tabcontent = document.getElementsByClassName("tabcontent");
    for (i = 0; i < tabcontent.length; i++) {
        tabcontent[i].style.display = "none";
        console.log(tabcontent[i].childNodes[1]);
    tabcontent[i].childNodes[1].pause();
    }
    tablinks = document.getElementsByClassName("tablinks");
    for (i = 0; i < tablinks.length; i++) {
        tablinks[i].className = tablinks[i].className.replace(" active", "");
    }
    document.getElementById(videoName).style.display = "block";
    evt.currentTarget.className += " active";
}
    </script>