Toon posts:

[javascrips / html] OnMouseOver

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een OnMouseOver gemaakt met een plaatje, maar deze functie werkt alleen als ik de bestandsnaam voor ut plaatje in de HEAD als een relatieve naam gebruik EN het plaatje in dezelfde map als het html bestand staat.

Maar eigenlijk wil ik de plaatjes laten staan waar ze staan...
Het html betand staat in e:\site
en de plaatjes in ''e:\site\fotoos\onzin 1'' en ''e:\site\fotoos\onzin 5''

De OnMouseOver heb ik als volgt gemaakt:
tussen <head> en </head> staat:

<script type="text/javascript">
<!-- verberg voor oudere browsers

// 'document.images' geeft aan dat browser dit script aan kan

if (document.images)
{ afbeelding01Uit = new Image();
afbeelding01Uit.src = "fotoos\onzin 1\th_rene.jpg'';
afbeelding01Aan = new Image();
afbeelding01Aan.src = "fotoos\onzin 5\th_rene.jpg'';
}

function afbeeldingAan(Naam)
{ if (document.images)
{ tekstAanNaam = eval(Naam + "Aan.src");
document.images[Naam].src = tekstAanNaam;
}
}

function afbeeldingUit(Naam)
{ if (document.images)
{ tekstUitNaam = eval(Naam + "Uit.src");
document.images[Naam].src = tekstUitNaam;
}
}

// klaar met verbergen -->

en in de Body staat op de plek waar de OnMouseOver-foto moet staan:
<a href="wij\Rene.html"
onmouseover="afbeeldingAan('afbeelding01')"
onmouseout="afbeeldingUit('afbeelding01')">
<img src="fotoos\onzin 1\th_rene.jpg"
name="afbeelding01" alt="afbeelding 1"></a>

wie weet hoe ik dit oplos...

PS : ik heb al uitgetest, maar de links zijn 100% OK

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:19

crisp

Devver

Pixelated

Tip 1: gebruik geen spaties in je paden
Tip 2: gebruik liever ook geen eval

Intentionally left blank


Verwijderd

zet het is even netjes tussen [ code ] tags, en trouwens je paden zijn niet ok, dat moeten forward slashes zijn, oh en trouwens document.images wordt al ondersteund sinds Netscape 3.

Vermijd verder ook spaties in (directory) namen.

Veel suc6

damn crisp! :)

[ Voor 4% gewijzigd door Verwijderd op 11-02-2003 12:45 ]


Verwijderd

Topicstarter
maar de paden zijn goed, en die spatie accepteerd ie wel in de body

Verwijderd

afbeelding01Uit.src = "fotoos\onzin 1\th_rene.jpg'';

->

afbeelding01Uit.src = "fotoos/onzin 1/th_rene.jpg'';

:-)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:19

crisp

Devver

Pixelated

Verwijderd schreef op 11 February 2003 @ 14:12:
afbeelding01Uit.src = "fotoos\onzin 1\th_rene.jpg'';

->

afbeelding01Uit.src = "fotoos/onzin 1/th_rene.jpg'';

:-)
afbeelding01Uit.src = "fotoos/onzin%201/th_rene.jpg''; ;)
maar nog steeds geldt: spaties zijn evil (net als eval)...

[ Voor 19% gewijzigd door crisp op 11-02-2003 14:15 ]

Intentionally left blank


Verwijderd

Topicstarter
net als eval??
wat is eval?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:19

crisp

Devver

Pixelated

uit je eigen(?) code:
code:
1
eval(Naam + "Aan.src");

Intentionally left blank


Verwijderd

Topicstarter
jaah, ok..
ik bedoelde eigenlijk...

wat is daar fout aan??
en hoe kan het beter?

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

eval is vies :)

Dat komt omdat je met eval gewoon stukken text aan elkaar plakt, en dat uitvoert (evaluate), aannemende dat dat inderdaad uitvoerbare code obv bestaande functies en/of elementen is. Het kan altijd zonder, en dat is misschien soms ff zoeken, maar dan is het iig een stuk netter, en ook leesbaarder voor anderen. (als dit nodig is)

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


Verwijderd

Topicstarter
maar qua stabiliteit / snelheid scheelt ut eigenlijk niks?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:19

crisp

Devver

Pixelated

Verwijderd schreef op 12 February 2003 @ 01:18:
maar qua stabiliteit / snelheid scheelt ut eigenlijk niks?
toch wel; nette code is over het algemeen ook stabielere code; zeker als je er nog meer in gaat lopen prutsen.
Voorbeeldje:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
var images = new array();
images[1] = new Array();
images[1]['Aan'] = new Image();
images[1]['Aan'].src = 'plaatje1_aan.gif';
images[1]['Uit'] = new Image();
images[1]['Uit'].src = 'plaatje1_uit.gif';

function veranderPlaatje(welke, aanuit) {

  document.images['afbeelding'+welke].src = images[welke][aanuit].src;

}

HTML:
1
2
3
<a href="piephtml" onmouseover="veranderPlaatje(1, 'Aan')" onmouseout="veranderPlaatje(1, 'Uit')">
  [img]"foto.jpg"[/img]
</a>

Intentionally left blank

Pagina: 1