Autor Zpráva
Musilda
Profil
Hezké odpoledne,

chci požádat o radu se kterou si nevím rady.
Mám html kód:

<div class="audio-limited">
  <audio controls="controls"><source src="https://www.spevacek.info/mp3/testy/listening-upper-intermediate-B.ogg" type="audio/ogg">   <source src="https://www.spevacek.info/mp3/testy/listening-upper-intermediate-B.mp3"     type="audio/mpeg"> Váš prohlížeč bohužel neumožňuje přehrát zvuk. Použijte prosím jiný prohlížeč. </audio>
</div>

a do něj vložím div, který absolutně napozicuji přes audio:

<div class="audio-limited">
  <audio controls="controls"><source src="https://www.spevacek.info/mp3/testy/listening-upper-intermediate-B.ogg" type="audio/ogg">   <source src="https://www.spevacek.info/mp3/testy/listening-upper-intermediate-B.mp3"     type="audio/mpeg"> Váš prohlížeč bohužel neumožňuje přehrát zvuk. Použijte prosím jiný prohlížeč. </audio>
  <div class="audio-overlay">Přehrát ukázku</div>
</div>

a pak chci po kliknutí na overlay pustit audio

window.onload = function() {
            var prehravac = document.getElementsByClassName('audio-limited');
            var element = document.createElement( 'div');
            element.appendChild( document.createTextNode( 'Přehrát ukázku' ) );
            element.classList.add( 'audio-overlay' );        
            for (index = 0; index < prehravac.length; ++index) {
                prehravac[index].appendChild( element );
                var p = prehravac[index];
                prehravac[index].addEventListener('click', function(e){
                    var audioDiv = p.getElementsByTagName( 'audio' );
                    audioDiv.play();
                });                
            }
        };

ale tento kód mi vyhazuje audioDiv.play is not a function at HTMLDivElement

Netušíte někdo proč?
_es
Profil
Metóda getElementsByTagName vracia kolekciu objektov, prvý prvok kolekcie je audioDiv[0].
Možno tam sú aj ďalšie chyby, no táto je výrazne "okatá".
Musilda
Profil
Díky už to funguje. Nevím sice jak to, ale tohle jsem zkoušel a nefungovalo mi to. Asi stačilo se na to vyspat.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0