Autor Zpráva
wexie
Profil
Pokouším se volat funkci javascriptu z mého indexového souboru HTML, ale nefunguje to. Toto je můj html soubor, ze kterého se pokouším volat funkci.

<div class="main">          
    <h1 class="header-main" onload="HeaderTyper('Welcome', this)">              
        <noscript>no javascript</noscript>
    </h1>
</div>
<script type="text/javascript" src="script.js"></script>

A tady je scénář.

function HeaderTyper(message, element){
  var i = 0;
  var speed = 55;
    if (i < message.length) {
      element.innerHTML += message.charAt(i);
    //play keystroke sound
    i++;
    setTimeout(HeaderTyper, speed);
  }
}

Snažím se replikovat zde zobrazenou hlavičku efektu psacího stroje. Mám v úmyslu přidat nějaké zvuky při stisku kláves, ale nejprve musím zjistit, jak to zadat do značky záhlaví. Zpráva, kterou dávám jako argument, není zapsána kódem. Co se mi stalo? Děkuji vám za asistenci.
Kcko
Profil
wexie:
onload na H1? Určitě ne. Na body, iframe, obrázku ano.
Budě tě zajímat DOMContentLoaded
JsonKody
Profil
Tady mas hotovou verzi v codepen ;)


<!-- HTML -->
<div class="main">          
    <h1 id="main-header"></h1>
</div>
<script src="script.js" defer></script>

/**
 * script.js
 */
const header = document.getElementById("main-header");

function headerTyper(message) {
    let i = 0;
    const speed = 100;

    const interval_id = setInterval(() => {
        header.innerHTML += message.charAt(i);
        i += 1;
        if (header.textContent.length === message.length) {
            clearInterval(interval_id);
        }
    }, speed);
}

headerTyper("Nauc se poradne JS, je to zabava ;)");

Tady mas hotovou verzi v codepen ;)

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