home  :: Home/Artikels/Webdesign enzo/Webdesign grafisch/Javascript text fade effect

Javascript text fade effect


door: JorisO 
May 2 2007
javascript text fade effect

Gezien met Javascript de CSS stijleigenschappen van tekst binnen HTML elementen direct zijn aan te spreken, is met de Javascript setInterval() functionaliteit eenvoudig een tekst effect of tekst animatie te scripten.

Met setInterval() kan een javascript functie telkens na een gespecificeerd tijdsinterval opnieuw worden aangeroepen. In dit Javascript voorbeeld wordt een text fade effect bereikt door telkens de CSS color eigenschap van HTML tekst te wijzigen. Het Javascript text fade effect ontstaat door van lichte naar donkere kleuren  te switchen en vice versa.

Dit is de Javascript fade text!

Javascript code tekst fade effect

De volgende Javascript functies zet je b.v. in de <head></head> sectie van je HTML pagina. Voor andere fade kleuren zet je andere waardes in de color array.

<script language='javascript'>
function blink(elementid){
colorarray = Array(
'#000000',
'#111111',
'#222222',
'#333333',
'#444444',
'#555555',
'#666666',
'#777777',
'#888888',
'#999999',
'#AAAAAA',
'#BBBBBB',
'#CCCCCC',
'#DDDDDD',
'#EEEEEE',
'#FFFFFF'
);
i=0;
setInterval ("changecolor('"+elementid+"')",100);

}

function changecolor(x) {

var x= document.getElementById(x);
if (x != null){
x.style.color = colorarray[i];
if (i==14){ i= 0;
colorarray = colorarray.reverse();
}
}
i++;
}
</script>

Voorbeeld aanroep tekst fade effect in HTML pagina

De volgende code zet je in je HTML pagina. Elk element waarop je het effect wilt toepassen moet een unieke id toegekend krijgen zoals hieronder:

<div id="warning"> Dit is de Javascript fade text! </div>
<script language="javascript">blink('warning');</script>



Commentaar van bezoekers:
van: kor
15:27:13, 25th-Jun-07
Hoi Joris,
Zal dit ook werken op elementen binnenin het div dat je target. Dus met andere woorden, zal het ook werken op <p>, en <h1> en <img> binnen je <div>?
groet!
kor

van: joriso
20:29:27, 25th-Jun-07
De elementen die de css 'color' - eigenschap ondersteunen, erven die van de DOM-ouder (in dit geval de div) tenzij ze een eigen waarde voor 'color' gespecificeerd krijgen. In dit geval worden dus alle html elementen zoals <span> <h1> en <p> binnen de div meegenomen in het effect tenzij je ze een eigen waarde voor color meegeeft.

Zie bijv. http://www.w3schools.com/htmldom/default.asp
voor meer informatie over DOM en inheritance van eigenschappen

van: Paul
20:31:55, 19th-Jul-07
Kan ik met deze functie ook iets maken dat hij iets uit een database haalt?
zo wil ik op me website dat hij aangeeft :"Now on air: jantje smit - met iets" en na het uit faden en opnieuw opkomt aangeeft:"Hiervoor hoord je: Pietje puk - Klompen dans"

Alvast bedankt,
Paul
paul@kickitradio.com

van: peter
10:26:07, 20th-Jul-07
Dat kan natuurlijk -alleen niet alleen met javascript , Dan zul je iets van een serverside scripting taal moeten gebruiken - bijv. PHP

van: Paul
17:53:33, 21st-Jul-07
Nou, ik kan wel php, dus dat moet geen probleem zijn.
Als je de site van 538 kijkt en klikt dan op "Luister naar 538" krijg je een pop up en daar zie je dat..
Alhoewel dit met flash is gemaakt (waar ik helemaal de ballen verstand van heb) wilde ik het eventueel met javascript maken.
Zou je kunnen mailen erover?

Gr Paul
paul@kickitradio.com

van: peter
21:30:14, 23rd-Jul-07
PHP is alleen nodig om iets uit de database te halen. Javascript kan dat niet helemaal alleen.

Koop of download een boek over Ajax zou ik zeggen.

In dit geval zou je een javascript array moeten vullen met de teksten die je wilt displayen en een functietje moeten schrijven dat telkens met de zelfde tijdsinterval als de fade functie de tekstuele inhoud van de div wijzigt met een nieuwe waarde uit je array.
Hiervoor gebruik je bijvoorbeeld de javascript getElementById() methode en de innerHTML eigenschap.

van: Suus
14:47:52, 14th-Feb-08
Hoe zorg ik ervoor dat hij niet meer terug gaat faden?

Ik wil eigenlijk alleen de fade in, en dat was het :)

van: Dennis
22:15:16, 18th-Mar-08
ik ben ook zeer benieuwd of het alleen met een in fade kan.
en wat dan de code is. ik hoop dat u dat hier ook wilt vermelden.

met vriendelijke groet, dennis

van: Esger
22:27:30, 27th-Oct-08
Fijn script. Ik gebruik het nu, weliswaar niet als fade-effect, maar als blink-effect, door de kleuren wat aan te passen.
Het geeft overigens wel een paar foutmeldingen in het javascript, omdat je het colorarray en de teller i binnen de ene functie declareert en dan gebruikt in de andere functie.

van: Benny
10:39:42, 26th-Nov-08
Je kun hem alleen laten in-faden door:
if (i==14){ i=0;

te vervangen door:
if (i==14){ halt;

Dan halt (stopt) hij daar gewoon.

van: Bas
18:02:07, 17th-Jan-09
er staat een klein foutje in de code. Voor een totale fade out zou in dit geval:
if (i==14){ i= -1;

hier moeten worden geplaatst, indien men dit niet doet, slaat de code de kleur zwart over door het i++ statement.

Een andere oplossing is er voor zorgen dat de set Interval slecht een aantal keer wordt aangeroepen. dit heeft mijn persoonlijke voorkeur wegens de transparantie hiervan:

function blink(elementid)
{
colorarray = Array(
'#EEEEEE','#DDDDDD','#CCCCCC','#BBBBBB','#AAAAAA','#999999',
'#888888','#777777','#666666','#555555','#444444','#333333',
'#222222','#111111','#000000'
);

i=0;
if (i< (colorarray.length -1)) // function is now independent of length of array
{
setInterval ("changecolor('"+elementid+"')",100);
}
else
{
clearInterval ( changecolor );
}

}

function changecolor(x)
{
var x= document.getElementById(x);
if (x != null)
{
x.style.color = colorarray[i];
}
i++;
}

van: Bas
18:03:31, 17th-Jan-09
hmm ik heb wel ingesprongen, maar helaas is dit niet overgenomen in mijn reactie.

jammer

Commentaar toevoegen:
Naam:
Link:(niet verplicht)
Commentaar:
<-- code:
  


Gerelateerde Artikels :
grafisch:
Javascript text fade effect

Snel zoeken:



Communist Cola t-shirt
17 Euro

Toevallig
passerende
cartoon
:




All content copyleft 2008 Joris Osterhaus - www.hardcode.nl