home  :: Home/Artikels/Webdesign enzo/Webdevelopment en scripting/Onmouseover onmouseout – html, javascript, css

Onmouseover onmouseout – html, javascript, css

Pagina 2 van 2
«vorige |1| 2 |
door: Joriso 

CSS mouseover

Met gebruik van Cascading Style Sheets, ofwel CSS kunnen in combinatie met het mouseover event allerlei effecten gegenereerd worden. Het onmousover event kan worden ingesteld om de css class waarmee een element op een html pagina is vormgegeven volledig te switchen. Dit gebeurt door de classname of style eigenschap van het html element (this) waarop de mouseover plaatsvindt te wijzigen.

Zo kun je door een mouseover bijvoorbeeld de css background-color property wijzigen om de achtergrondkleur van een link of div te veranderen. Of als in je css stylesheet twee styles definieert met verschillende image bestanden als background image, kun je een vergelijkbaar mouseover effect creeren door met onmouseover en onmouseout van background image te veranderen.

Ook kun je op html links een mouseover effect bewerkstelligen door een css stijl voor a:hover te definieren. Hieronder een voorbeeld.

Vaak wordt ook de css visiblity of display property gebruikt om html te laten verschijnen of verdwijnen d.m.v. een mouseover. Hiermee kun je bijvoorbeeld een uitklap mouseover menu maken. Hiervoor maak je gebruik van de javascript getElementById methode.

Van al deze css mousover effecten zie je hieronder voorbeeld.

Mouseover link in CSS

CSS onderscheidt voor de html link vier verschillende fases - te weten:

  • a:link { }
  • a:hover { }
  • a:visited { }
  • a:active { }

Gezien de css die je definieert voor a:hover wordt geactiveerd door de html onmousover, kun je zuiver en alleen met css al allerlei interessante mouseover effecten definiëren. In het volgende css mouseover voorbeeld wordt a:hover gebruikt voor een mousover effect:

 

<html>

<head>

<style type="text/css">

a:link, a:visited, a:active
{
color:#CCCCCC;
font-size:14px;
text-decoration:none;
background-color:#336666;
padding:15px;
}

a:hover
{
color:#FFFFFF;
font-size:14px;
text-decoration:none;
background-color:#cccccc;
padding:15px;
}

</style>

</head>
<body>

<a href="http://joriso.nl"><b>Webdesign!</b></a>

</body>

</html>

 

Dit voorbeeld levert de volgende link met css mouseover–effect op:

 

 

Eenvoudige CSS mouseover button:

In dit css voorbeeld wordt n.a.v. een mouseover de background-color, cursor, border en font color van een div veranderd.

Definieer eerst minstens twee css classes tussen de <head></head> tags van je html pagina:

 

<style type="text/css">

.nomouse
{
border:2px solid #cccccc;
background-color: #336666;
color: #000000;
width:100px;
font-weight:bold;
}

.mouse
{
cursor:help;
border:2px solid white;
background-color: #99cccc;
color: #ffffff;
width:100px;
font-weight:bold;

}


</style>

 

Vervolgens kun je tussen de body tags van je html pagina mouseover effecten genereren door een onMousover event te registreren op een html element naar keuze (in dit voorbeeld een <div>).

 

<div class="nomouse" onmouseover="this.className='mouse'" onmouseout="this.className='nomouse'">Dit is een css mouseover button</div>

 

Deze CSS gegenereerde 'button' is dan het resultaat:



Dit is een css mouseover button


De volledige html pagina met mouseover ziet er dan zo uit:

<html>

<head>

<style type="text/css">

.nomouse
{
border:2px solid #cccccc;
background-color: #336666;
color: #000000;
width:100px;
font-weight:bold;
}

.mouse
{
cursor:help;
border:2px solid white;
background-color: #99cccc;
color: #ffffff;
width:100px;
font-weight:bold;

}


</style>

</head>

<body>

<div class="nomouse" onmouseover="this.className='mouse'" onmouseout="this.className='nomouse'">Dit is een css mouseover button</div>

</body>

</html>

Visibibility & getElementById - CSS & Javascript mouseover

Met de javascript getElementById methode kun je eigenschappen van html elementen in realtime wijzigen. Met de CSS visibility eigenschap kun je html elementen verbergen en laten verschijnen.

Beweeg je muis over de volgende div:

Een CSS & javascript mouseover button
Hoi hoe is 't?
Met deze css en javascript combinatie kun je bv 'n opmerking laten verschijnen of een navigatie menu bouwen.

Voor dit voorbeeld werd de volgende javascript functies tussen de <head></head>tags gedefinieerd:

 

<script language="Javascript"><!--

function latenzien(id)
{
document.getElementById(id).style.visibility = 'visible';
}

function verstoppen(id)
{
document.getElementById(id).style.visibility = 'hidden';
}

-->
</script>

 

Met deze javascript functies wordt (n.a.v. een mousover) een html element geselecteerd en hiervan de visibility eigenschap op hidden danwel visible gezet.

In de head sectie van je html wordt ook in de css style van de div die bij mouseover verschijnt, de visibility eigenschap op hidden ingesteld. Verder definieer je ook de css style voor de (zichtbare) div waarop de mouseover plaats zal vinden:

 

<style type="text/css">

.mouse2
{
visibility:hidden;
background-color: #336699;
color: white;
width:100px;
font-size:10px;
position:relative;
top:125px;
left:125px;
padding:4px;
border:1px solid white;

.nomouse
{
border:2px solid #cccccc;
background-color: #336666;
color: #000000;
width:100px;
font-weight:bold;
}

</style>

 

Om deze css / javascript mouseover nu ergens te implementeren gebruik je de volgende code tussen de <body></body> tags van je html document. De eerste div is zichtbaar en dient als onmousover onmouseout trigger. De tweede div verschijnt bij mouseover en verdwijnt weer bij mouseout.

<div class="nomouse" onmouseover="latenzien('toverdiv')" onmouseout="verstoppen('toverdiv')">Een CSS &amp; javascript mouseover button</div>


<div id="toverdiv" class="mouse2">Hoi hoe is het?<br>
Met deze css en javascript combinatie kun je bv een opmerking laten verschijnen of een navigatie menu bouwen. </div>
 

 

Voor alle duidelijkheid nogmaals de volledige mouseover html pagina met css en javascript inbegrepen:

 

<html>

<head>

<script language="Javascript"><!--

function latenzien(id)
{
document.getElementById(id).style.visibility = 'visible';
}

function verstoppen(id)
{
document.getElementById(id).style.visibility = 'hidden';
}

-->
</script>

<style type="text/css">

.mouse2
{
visibility:hidden;
background-color: #336699;
color: white;
width:100px;
font-size:10px;
position:relative;
top:125px;
left:125px;
padding:4px;
border:1px solid white;

.nomouse
{
border:2px solid #cccccc;
background-color: #336666;
color: #000000;
width:100px;
font-weight:bold;
}

</style>

</head>

<body>

<div class="nomouse" onmouseover="latenzien('toverdiv')" onmouseout="verstoppen('toverdiv')">Een CSS &amp; javascript mouseover button</div>

<div id="toverdiv" class="mouse2">Hoi hoe is het?<br>
Met deze css en javascript combinatie kun je bv een opmerking laten verschijnen of een navigatie menu bouwen. </div>

</body>

</html>
 

Pagina 2 van 2
«vorige |1| 2 |



Commentaar van bezoekers:
van: Van de Frisse
19:51:06, 30th-Dec-06
hele goeie uitleg!

van: Raldo
13:37:27, 15th-Jan-07
Wauw...heel goed uitgelegd ja!
Nu begrijp ik ook wat ik doe:P !!
Zeker handig...

van: Walter
11:32:15, 29th-Jan-07
Ziet er goed uit!
Leerzaam..

van: martijn van belle
23:44:08, 5th-Feb-07
Dank jewel weer wat geleerd om mijn pagina wat te verbeteren

van: Lando
14:13:32, 20th-Apr-07
als ik dit doe en ik mijn links in het midden van mijn pagina zet werkt het niet goed. Al ga ik 2 km van mijn link af ik kan gewoon erop klikken. Hoe haal ik dit weg?

van: Arie van Oosten
16:38:59, 22nd-May-07
die laatste is wel goe maar ik zoek ijgenlijk iets anders... ik wil alsje met je mijn er over heen gaat tot je dan een menu er onder krijgt kan jij dat maken ik zal een voor beeld geven ga naar: http://www.websitemaken.be/index.php?page=show_item&id=306 en ga dan met de muis over home dan komt er een menu uit onder da wil ik ook ben overal aan het zoeken maar ik kan het nie vinden kan jij zo iets maken?

van: g4wx3
06:25:13, 7th-Jun-07
hey,
Leuke kleurcombinatie (y).

je kan inline-javascipt ook weglaten, en toch mouseovers maken.
Dit heeft als voordeel dat je in een keer alle elementen op je website kan definieren, Bijvoorbeeld als je een tabel hebt.
Je kunt de met getElementByTagName een array maken van alle zelfde elementen en hier dan een mouse over effect aan binden.

Ik doe het eigenlijk altijd zo, omdat ik het in men vingers zit:
Hier een mouseovereffecje zonder inline-javascript
[code]
<img id="launchshow" src="" alt="start voerentv" >

<script type="text/javascript">
var launchimgOut = new Image();
var launchimgOver = new Image();
var launchbutton = document.getElementById("launchshow");
launchimgOut.src="img/startvoerentv.gif";
launchimgOver.src="img/startvoerentvhover.gif";
launchbutton.onmouseout = launchOut;
launchbutton.onmouseover = launchOver;
launchbutton.onclick = launchClick;
launchOut();

function launchOut(){
launchbutton.src = launchimgOut.src;
launchbutton.style.cursor="pointer";
}

function launchOver(){
launchbutton.src = launchimgOver.src;
launchbutton.style.cursor="pointer";
}

function launchClick(){
popUp('show/index.php');
}
</script>
[/code]




van: jelle
12:14:05, 19th-Jan-08
hele goeie uitleg, ik ga hem ook gebruiken in mijn nieuwe site :)

van: Lennart
13:16:01, 4th-Sep-08
Mijn klant wil graag een mouseovereffect. Hij wil graag dat wanneer je bijvoorbeeld over sterrenbeeld ram gaat met je cursor de bijbehorende tekst op een andere positie, dus buiten de afbeelding verschijnt.

Nu heb ik elke sterrenbeeld-afbeelding voorzien van een link met named anchor. Zodoende komt de juiste tekst op de juiste plek als je op een sterrenbeeld klikt. Maar de klant wil niet dat klikken noodzakelijk is, het moet met onMouseover. Hoe doe ik dat?

http://www.amersfoort-ict.nl ga naar Leuk en dan naar horoscoop. Als de website af is, wordt het domein: www.moesson.nl

van: Lennart
13:56:56, 4th-Sep-08
Zoals zo vaak vindt ik kort nadat ik iets vraag zelf het antwoord. Dus doe geen moeite!

Het antwoord:
<A HREF="#Ram" onMouseOver="parent.location='#Ram'";><img src="images/vierkantjes/horoscoop/ram.jpg" border="0" title="Ram" alt="Ram" /></A>

van: Marcel
19:07:43, 17th-May-09
Kleine opmerking,
voor menu\'s kun je beter display gebruiken i.p.v. visibility

van: Harry H. Arends
21:56:46, 13th-Oct-09
Kun je ook laten zien hoe ik dit moet doen bij een tabelcel

van: M.Janssen
01:54:46, 16th-Feb-10
Is Css verplicht bij mouse over.
Ik ben namelijk op zoek naar iets en dat is het volgende

Img -- bij mouseover moet de tekst Start komen, de img bevat tevens ook een link.

van: newbies
16:17:08, 8th-Apr-10
lol

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

Pagina's in dit artikel:
pagina 2
Onmouseover onmouseout – html, javascript, css



Gerelateerde Artikels :
webdevelopment:
Onmouseover onmouseout – html, javascript, css

Snel zoeken:



Struisvogel
45 Euro

Toevallig
passerende
cartoon
:



Nieuwste links:


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