Wpisałem następujący kod w JavaScript, który właśnie ukrywa i pokazuje div z wideo YouTube na nim. :

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%;
}

Jednak tylko prace 'hideVideo2()' i showVideo2() i determineshowhidevid () nie. Próbowałem uzyskać innerhtml tak, że jeśli mówi, że gra, pokazy wideo. Jeśli nie, skóry wideo.

Rzecz jest, element Player Playersermine zmienia to treść tekstu, aby zamknąć i pokazuje wideo, ale nie ukrywa go z powrotem.

Czy jest coś nie tak z moim oświadczeniem w JavaScript?

1
Malcolm Salvador 15 sierpień 2014, 07:52

2 odpowiedzi

Najlepsza odpowiedź

Dodaj == operator do porównania Usuń {{ X0}} z twojego if, aby to zrobić:

...
if (document.getElementById("PlayerDetermine").innerHTML == "Play") {
...
2
Sudhir Bastakoti 15 sierpień 2014, 03:55

Powinieneś tego spróbować

Pełne kredyty do https://stackoverflow.com/users/142410/vian-esterhuizen

Sprawdź, czy wideo YouTube gra i uruchom skrypt

Jego najczystszy sposób, jaki myślę, że możesz wykryć, czy wbudowany film YouTube odtwarza lub nie, dzięki czemu możesz dokładać dokładne zmiany w HTML

1
Community 23 maj 2017, 12:20