Roll over effect in menu
Auteur: Carpmadness - 03 oktober 2004 - 15:09 - Gekeurd door: Dennisvb - Hits: 6558 - Aantal punten: (0 stemmen)
Een leuk effectje om op een menu oid toe te passen. een soort van mouseover-effect maar die van een array kleuren langsloopt. je krijgt dus een vervagingseffect (als je tenminste opeenvolgende kleuren instelt).
1. Zet dit in je <head> tags of in een extern .js bestand:
pas de array hex aan met de kleuren die je wilt voor het effect. hij rolt "on", de array van 0 tot eind, en "off" vanaf het eind tot 0.
zet in de var set net zoveel nullen gescheiden met een komma als het aantal elementen waarop je het effect toepast
doe dit ook bij de var hexcolor.
|
Code: |
<script language="JavaScript" type="text/javascript">
<!--
var hex = new Array(
"E6E7CE",
"DEE0CD",
"DADCC7",
"D3D6BE",
"CCCFB4",
"C1C4A2",
"B8BB95",
"B0B388",
"ABAD81"); // kleuren waartussen roll-on en roll-of heen en weer 'rollen'
var set = new Array(0, 0, 0, 0, 0, 0, 0, 0); //status van item. 1 = rollon (dus de hex-array wordt van 0 tot eind uitgevoerd op item), 0 = rolloff (andersom)
var hexcolor = new Array(0, 0, 0, 0, 0, 0, 0, 0); // kleur uit de hex-array van items
function rollon(n) {
set[n] = 1;
}
function rolloff(n) {
set[n] = 0;
}
function roll(){
for (i = 1; i <= 7; i++) {
itemnr = "item" + i;
if (set[i] == 1) {
if (hexcolor[i] != (hex.length - 1)) {
hexcolor[i]++;
eval(itemnr+".style.background = hex[hexcolor["+i+"]]");
}
}else {
if (hexcolor[i] != 0) {
hexcolor[i]--;
eval(itemnr+".style.background = hex[hexcolor["+i+"]]");
}
}
}
setTimeout("roll()",100); //refresh snelheid
}
//-->
</script>
<script language="JavaScript" type="text/javascript"> <!-- "E6E7CE", "DEE0CD", "DADCC7", "D3D6BE", "CCCFB4", "C1C4A2", "B8BB95", "B0B388", "ABAD81"); // kleuren waartussen roll-on en roll-of heen en weer 'rollen' var set = new Array(0, 0, 0, 0, 0, 0, 0, 0); //status van item. 1 = rollon (dus de hex-array wordt van 0 tot eind uitgevoerd op item), 0 = rolloff (andersom) var hexcolor = new Array(0, 0, 0, 0, 0, 0, 0, 0); // kleur uit de hex-array van items function rollon(n) { set[n] = 1; } function rolloff(n) { set[n] = 0; } function roll(){ for (i = 1; i <= 7; i++) { itemnr = "item" + i; if (set[i] == 1) { if (hexcolor[i] != (hex.length - 1)) { hexcolor[i]++; eval(itemnr +".style.background = hex[hexcolor["+i +"]]"); } }else { if (hexcolor[i] != 0) { hexcolor[i]--; eval(itemnr +".style.background = hex[hexcolor["+i +"]]"); } } } setTimeout("roll()",100); //refresh snelheid } //--> </script>
Om nu het script op gang te krijgen moet je in je body tag de functie roll() in de onload zetten:
In een element waar je het effect op wilt toepassen zet je het volgende in de open-tag, waarbij bij elke nieuwe element waar je het effect op toepast het nummer met 1 toeneemt:
id="item1" onmouseover="rollon(1)" onmouseout="rolloff(1)"
id="item1" onmouseover="rollon(1)" onmouseout="rolloff(1)"
Om nog even een voorbeeldje te geven zet je de bovenste code, de javascript, in een pagina in de <head> tags en dit hieronder in je body:
<table cellpadding="0" cellspacing="0" style="border:1px solid gray;padding-left:5px;background-color:#E6E7CE;height:200;width:150;">
<tr>
<td id="item1" onmouseover="rollon(1)" onmouseout="rolloff(1)" nowrap>
<a target="main" href="home.htm">home</a>
</td>
</tr>
<tr>
<td id="item2" onmouseover="rollon(2)" onmouseout="rolloff(2)" nowrap>
<a href="link2.htm">link2</a>
</td>
</tr>
<tr>
<td id="item3" onmouseover="rollon(3)" onmouseout="rolloff(3)" nowrap>
<a href="link3.htm">link 3</a>
</td>
</tr>
<tr>
<td id="item4" onmouseover="rollon(4)" onmouseout="rolloff(4)" nowrap>
<a href="forum.htm">forum</a>
</td>
</tr>
<tr>
<td id="item5" onmouseover="rollon(5)" onmouseout="rolloff(5)" nowrap>
<a href="link.htm">nieuwe toevoegen</a>
</td>
</tr>
<tr>
<td id="item6" onmouseover="rollon(6)" onmouseout="rolloff(6)" nowrap>
<a href="link.htm">geavanceerd zoeken</a>
</td>
</tr>
<tr>
<td id="item7" onmouseover="rollon(7)" onmouseout="rolloff(7)" nowrap>
<a href="contact.htm">contact</a>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" style="border:1px solid gray;padding-left:5px;background-color:#E6E7CE;height:200;width:150;"> <tr> <td id="item1" onmouseover="rollon(1)" onmouseout="rolloff(1)" nowrap> <a target="main" href="home.htm">home</a> </td> </tr> <tr> <td id="item2" onmouseover="rollon(2)" onmouseout="rolloff(2)" nowrap> <a href="link2.htm">link2</a> </td> </tr> <tr> <td id="item3" onmouseover="rollon(3)" onmouseout="rolloff(3)" nowrap> <a href="link3.htm">link 3</a> </td> </tr> <tr> <td id="item4" onmouseover="rollon(4)" onmouseout="rolloff(4)" nowrap> <a href="forum.htm">forum</a> </td> </tr> <tr> <td id="item5" onmouseover="rollon(5)" onmouseout="rolloff(5)" nowrap> <a href="link.htm">nieuwe toevoegen</a> </td> </tr> <tr> <td id="item6" onmouseover="rollon(6)" onmouseout="rolloff(6)" nowrap> <a href="link.htm">geavanceerd zoeken</a> </td> </tr> <tr> <td id="item7" onmouseover="rollon(7)" onmouseout="rolloff(7)" nowrap> <a href="contact.htm">contact</a> </td> </tr> </table>
Have fun with it Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|