javascript - 如果不适用于 Javascript 中的 .innerHTML

标签 javascript html css opacity

我在 Javascript 中输入了以下代码,它只是隐藏和显示一个带有 youtube 视频的 div。 :

Javascript:

function showVideo2()
{
    document.getElementById("TheVid").style.opacity = 1;

}
function hideVideo2()
{
    document.getElementById("TheVid").style.opacity = 0;

}

function determineShowHideVid()
    {
        if (document.getElementById("PlayerDetermine").innerHTML.match ="Play")
        {
            showVideo2();
            document.getElementById("PlayerDetermine").innerHTML = "Close";
        }
        else
        {
            hideVideo2();
            document.getElementById("PlayerDetermine").innerHTML = "Play";
        }
    }

HTML

<body>
    <div class='container'>
        <div class='row' id= 'BodyDiv1' name = 'BodyDiv'>
            <button type='submit' onclick='determineShowHideVid()' id='PlayerDetermine'>Play</button>
            <button type='submit' onclick='showVideo2()'>Play</button>
            <button type='submit' onclick='hideVideo2()'>x</button>

            <div class='col-md-8' id='TheVid'>
                <div class="vid">
                    <iframe class="youtube-player" type="text/html" width="430" height="150" 
src="//www.youtube.com/embed/jx83rMjic5w?wmode=opaque?html5=1" allowfullscreen frameborder="0">
                    </iframe>
                </div>
            </div>
        </div>
    </div>
</body>

CSS

#TheVid { 

   -webkit-transition: opacity 2s;
   -moz-transition: opacity 2s;
   -o-transition: opacity 2s;
   transition: opacity 2s;
}
.vid {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; height: 0; overflow: hidden;
}

.vid iframe,
.vid object,
.vid embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

但是,只有 'hideVideo2()'showVideo2() 有效,而 determineShowHideVid() 无效。我试图获取 innerHTML,这样如果它说播放,视频就会显示。如果没有,视频会隐藏。

问题是,Button 元素 PlayerDetermine 将其文本内容更改为关闭并显示视频,但不会将其隐藏起来。

我在 javascript 中的 IF 语句有问题吗?

最佳答案

添加==运算符比较从你的 if 中删除 .match 使其像:

...
if (document.getElementById("PlayerDetermine").innerHTML == "Play") {
...

关于javascript - 如果不适用于 Javascript 中的 .innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25321019/

相关文章:

javascript - 带 SVG 的 Tabby JS 防止滚动

javascript - 创建元素不起作用

javascript - 如何将城市或州名称转换为邮政编码

jQuery DIV 重叠背景 DIV

javascript - 可以在鼠标左键单击时触发 context.js 上下文菜单

javascript - 使用复选框清除表单

javascript - 如何在 JS 中定义一次变量?

javascript - 纹理未生成有效(可能)

javascript - 在 JQuery 中,.html(var) 与 .html(var.html())

html - td的默认css,自动居中