MouseOver / MouseOut; ik doe iets fout.

Pagina: 1
Acties:

  • DoubleJ
  • Registratie: December 2002
  • Laatst online: 07-02-2025

DoubleJ

Een ninjja!

Topicstarter
Zoals de titel al aangeeft doe ik hier iets fout, het werkt namelijk niet. Ik zit er al zeker 20 minuten naar te staren en zie het niet. Wil iemand zo vriendelijk zijn mij in de goede richting te wijzen? dankje!

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<SCRIPT>
<!--
if (document.images) {
  krascoolOff = new Image();
  krascool.src = "images/buttons/normaal/1_01_welkomkrasencooloff.png";

  krascoolOn = new Image();
  krascoolOn.src = "images/buttons/actief/1_01_welkomkrasencoolon.png";

}

function turnOff(imageName) {
  if (document.images) {
    document[imageName].src = eval(imageName + "off.src");
  }
}

function turnOn(imageName) {
  if (document.images) {
    document[imageName].src = eval(imageName + "on.src");
  }
}


-->
</SCRIPT>

code:
1
<a href="subsites/welkomkrasenecool.html" onMouseOver="turnOn('krascool')" onMouseOut="turnOff('krascool')">[img]"images/buttons/normaal/1_01_welkomkrasencooloff.png"[/img]</a>

[ Voor 13% gewijzigd door DoubleJ op 02-04-2005 13:30 ]


  • GambitRS
  • Registratie: Juni 2001
  • Laatst online: 13-06-2013

GambitRS

w00t

krascool + off.src = krascooloff.src
echter instantieer je krascoolOff.src, met een hoofdletter dus
en je zet geen image in krascoolOff maar in krascool.src

Geen idee of dat op die manier mag met javascript op windows, maar ik denk dat daar je fout zit

MechWarrior || Monsters Game


Verwijderd

Bovendien zie ik 1_01_welkom nergens terug komen en is die eval niet nodig.

Verwijderd

GambitRS schreef op zaterdag 02 april 2005 @ 13:38:
krascool + off.src = krascooloff.src
echter instantieer je krascoolOff.src, met een hoofdletter dus
en je zet geen image in krascoolOff maar in krascool.src

Geen idee of dat op die manier mag met javascript op windows, maar ik denk dat daar je fout zit
Javascript is niet case sensitive, maar verder zijn er inderdaad wel problemen met de code. naast 'krascool.src' op regel 5, klopt het ook niet dat krascoolon en krascooloff geinstantieerd worden, maar via de functies het object 'krascool' (wat niet bestaat, behalve door het probleem genoemd in regel 5) benaderd wordt. Wat een onzin probeer ik hier te verkopen. Ach, 't is nog vroeg, zullen we maar zeggen...

Ik heb zoiets eens gedaan door (stukjes code geknipt):
code:
1
2
3
4
5
6
7
8
  var hibtn1;
  hibtn1=new Image(110,32);  hibtn1.src="gfx/b_shh.gif";

  // (de)highlight function
  function si(source,dest)
  {
    source.src='gfx/b_'+source.name+dest+'.gif';
  }


code:
1
2
3
  <A HREF=index.html onMouseOver="si(sh,'h');" onMouseOut="si(sh,'');">
    [img]"gfx/b_sh.gif"[/img]
  </A>


De HTML zorgt voor het laden van het ene plaatje, en het stukje script zorgt (via hibtn) voor het pre-loaden van het andere plaatje, en (via si() functie) het schakelen. Ik heb dus maar 1 schakelfunctie voor zowel on als off.

'source' in si() refereert naar de naam van het plaatje (NAME attribuut in IMG tag), wat terugkomt in de bestandsnaam (voor hibtn1 is source='sh')

Deze code is zo'n 5 jaar oud, dus misschien niet de netste oplossing tegenwoordig

[ Voor 33% gewijzigd door Verwijderd op 02-04-2005 13:55 ]


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

crisp

Devver

Pixelated

Javascript is niet case sensitive
Juist wel:
JavaScript:
1
2
3
4
var foo = 1;
var Foo = 2;
alert(foo); // 1
alert(Foo); // 2

En gebruik gewoon een array voor je preloads; dan kan je de eval netjes ditchen:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//-- Preload
var preloadImages = new Array();
preloadImages['krascoolOff'] = new Image();
preloadImages['krascoolOff'].src = 'images/buttons/normaal/1_01_welkomkrasencooloff.png';
preloadImages['krascoolOn'] = new Image();
preloadImages['krascoolOn'].src = 'images/buttons/normaal/1_01_welkomkrasencoolon.png';

function turnOff(imageName)
{
    document.images[imageName].src = preloadImages[imageName + 'Off'].src;
}

function turnOn(imageName)
{
    document.images[imageName].src = preloadImages[imageName + 'On'].src;
}

[ Voor 69% gewijzigd door crisp op 02-04-2005 14:02 ]

Intentionally left blank


  • DoubleJ
  • Registratie: December 2002
  • Laatst online: 07-02-2025

DoubleJ

Een ninjja!

Topicstarter
Mijn excuses maar ik weet niet of jullie HTML werkelijk kunnen lezen maar ik dit niet en ik heb dus ook een beetje moeite met het begrijpen van jullie adviesen.

Hoofdletters zijn het probleem niet, dit heb ik aangepast zonder resultaat.

[ Voor 24% gewijzigd door DoubleJ op 02-04-2005 14:13 ]


  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 01:01

DizzyWeb

Ondertiteld

DoubleJ schreef op zaterdag 02 april 2005 @ 14:09:
Mijn excuses maar ik weet niet of jullie HTML werkelijk kunnen lezen maar ik dit niet en ik heb dus ook een beetje moeite met het begrijpen van jullie adviesen.

Hoofdletters zijn het probleem niet, dit heb ik aangepast zonder resultaat.
Gezien je reactie nu heb ik zo mijn ernstige twijfels of je het script in je startpost uberhaupt zelf hebt geschreven... dit is dus geen HTML, maar JavaScript? En er gebeuren geen dingen die ingewikkelder zijn dan jou eigen stukje code.

  • DoubleJ
  • Registratie: December 2002
  • Laatst online: 07-02-2025

DoubleJ

Een ninjja!

Topicstarter
DizzyWeb schreef op zaterdag 02 april 2005 @ 14:17:
[...]


Gezien je reactie nu heb ik zo mijn ernstige twijfels of je het script in je startpost uberhaupt zelf hebt geschreven... dit is dus geen HTML, maar JavaScript? En er gebeuren geen dingen die ingewikkelder zijn dan jou eigen stukje code.
Nee, dat heb ik niet zelf geschreven uiteraard wel aangepast naar mijn site.

  • DoubleJ
  • Registratie: December 2002
  • Laatst online: 07-02-2025

DoubleJ

Een ninjja!

Topicstarter
stom van me, hetgeen wat er fout zat had ik niet meegepost. Ik had een script als:

<script>
<script>
</script>

iig bedankt voor al jullie hulp, sorry i wasted ur time...
Pagina: 1