Hoi allemaal,

Na een paar jaar, weer eens de "php-schoenen" aangetrokken en jawel, het voelt stroef aan.
We gaan ons weer mogen serieus inwerken ;-)

Mijn vraag:
Ik zou graag een lijntje test schrijven, op een scherm, maar met een delay van enkele milliseconden tussen elke letter. Zo lijkt het getypt te gaan worden terwijl men op het scherm kijkt.

Ik ben nu al een uurtje aan het stoeien hiermee, maar het lukt me niet.

Met de function USLEEP() kom ik er niet, want dan wordt de ganse pagina in pauze geplaatst en niet het betreffende stukje code binnen de loop die ik ervoor gemaakt had.

Ik zou naar Javascipt moeten gaan en de functie setTimeout() moeten gaan gebruiken als ik alles mag geloven wat ikop het www lees.
Helaas heb ik van Javascript (nog) geen notie verstand, en al helemaal niet om dit te gaan inwerken in mijn code.

Tot dusver heb ik dit:

<?php
$lijn1 = "We doen een test met de eerste lijn die getoond moet worden.";
$teller = strlen($lijn1); /** berekent hoeveel karakters er in de string zitten **/
$x = 1; /** teller laten starten op waarde 1 **/
echo "<p>";
while ($x <= $teller) {
$letter = substr($lijn1,$x-1,1);
echo $letter;
$x++;
}
echo "</p>";
?>

De ouput wordt dus correct weergegeven.
Nu enkel de vertaging realiseren tussen elk karakter dat op het scherm komt.


Kan er me iemand helpen?
Hallo,

Hier zal je inderdaad javascript voor nodig hebben.
Hier is een voorbeeld.

Hier is een voorbeeld met clearInterval.
Dag Randy,

Idd, dat is precies wat ik wil.
Waarschijnlijk met de verkeerde paramaters gezocht, want ik heb op die site al zitten neuzen.
Wat wel leuk is dat ze de code zo meegeven.

Nu nog de manier uitvogelen om dit te implementeren, want zoals eerder gezegd, geen kaas van Javascript gegeten. Dus ook geen ervaring met inbakken in het PHP-potje.
Dat stukje kan je voor de </body> tag plaatsen tussen <script></script> tags.
Het element waar je de tekst in wilt weergeven geef je een id, en die id pas je aan in het stukje javascript.

Reageren