function typ($zin)
{
// de zin typen
$tellen = "0";
$aantal_letters = strlen($zin);
echo str_pad('',4096);
while ($tellen < $aantal_letters) {
echo "$zin[$tellen]";
flush();
ob_flush();
usleep(50000);
$tellen = $tellen + "1";
}
// 1 seconde wachten
usleep(1000000);
}
typ ("Dit is een tekstregel 1");
typ ("Dit is een tekstregel 2");
Nu heb ik zelf geen problemen met dit script (Internet Explorer)
Maar omdat de Firefoxgebruikers problemen hadden met het script werd me aangeraden om het in javascript te maken.
Nu heb ik dit gedaan, en met een combinatie van Javascript en Php heb ik hetzelfde effect kunnen bereiken.
Zie hier de Javascript Code:
Maar het probleem van dit script is dat het alleen maar werkt voor 1 regel..
Zodra ik nog een zin wil typen door de functie "typ_de_zin" te gebruiken, wordt alleen de laatste zin 2x getypt (elke letter 2x)
function maakZin(string){
var letters = split(string); // dit dus vervangen door werkende functie
var aantalLetters = string.length;
var i =0;
while(i != aantalLetters){
document.GetElementById('waarJeZinMoet').innerHTML += letters[i];
}//einde while
}
function maakZin(string){
var letters = split(string);// dit dus vervangen door werkende functie
Dankjulliewel voor de supersnelle reactie, maar ik snap niet helemaal hoe ik jullie functie nu in mijn script moet krijgen..
Ik ben pas sinds vandaag een beetje met javascript bezig
Kunnen jullie een voorbeeldje geven met mijn script?
<script type="text/javascript">
function stringToChars(str)
{
var chars = new Array();
for( var i = 0 , i < str.length() , i++ )
chars[i] = str.substring(i , i+1);
return chars;
}
function maakZin(string){
var letters = stringToChars(string);
var aantalLetters = string.length;
var i =0;
while(i != aantalLetters){
document.GetElementById('waarJeZinMoet').innerHTML += letters[i];
}//einde while
}
</script>
Daarna kan je die gewoon aanroepen met onLoad of onClick. Event handling , hier is uitleg over event handling. Javascript staat dus los van PHP. En kan javascript gewoon net zoals html gelijk typen zolang het tussen de script tags staat. Dus geen javascript echoën. Ik hoop dat je er wat aan hebt.
Ik snap wel dat je normaal javascript niet hoort te echoën met php.
Maar juist omdat ik het wil laten "typen" (letter voor letter laten zien) heb ik hier wel voor gekozen.
En de scripts die jullie geven doen dat niet meer toch?
En het laatst geposte script geeft alleen een foutmelding.
waarom zit je zo vast aan dat php? Wij hebben in geen 1 stukje php geplaatst, en vermeld waar je deze code wel moet plaatsen.
<body onload="maakZin('dit is een zin')">
Al zie ik nu een fout de while zet gewoon in sneltreinvaart de letters neer zo snel dat je t niet gaat merken, daar moet nog even een intervalletje in, ik heb ff geen tijd
<?
$zin = "Dit is een zin die letter voor letter getypt wordt";
$aantal_letters = strlen($zin) +1;
?>
<html>
<head>
<script language="JavaScript">
var tellen=0;
var aantal="<? echo $aantal_letters;?>";
var zin ="<? echo $zin;?>";
function StartMetTypen(){
window.setInterval("TypDeTekst()", 70);
}
function TypDeTekst(){
if(tellen < aantal){
var letter = zin.substring(0,tellen);
document.getElementById('typen').innerHTML = letter;
tellen = tellen+1;
}else{
clearInterval();
}
}
</script>
</head>
<body onload="StartMetTypen();">
<div id=typen></div>
</body>
</html>
<?
$zin ="Dit is een zin die letter voor letter getypt wordt";