Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[js]onmouseover, onmouseout en onclick combi

Pagina: 1
Acties:
  • 128 views sinds 30-01-2008
  • Reageer

  • huistra
  • Registratie: April 2001
  • Laatst online: 08-05-2024
Ben bezig een navigatie te maken met een standaard imageswap dmv een mouseover en een mouseout.

Ik wil alleen nu graag dat als er geklikt wordt op een item, dat dan het plaatje behorend bij mouseover blijft staan. Wanneer er dan vervolgens geklikt wordt op een ander menu-item, moet de 'vorige' weer het mouseout plaatje krijgen.

Ik dacht in de variabele welke op te slaan op welke button geklikt is en dan vervolgens bij het mouseout event alle plaatjes weer op de 'mouseout-variant' zetten, behalve de button waarop geklikt is.

Dit is de code:

var welke;
welke = '';

<!--imageswap voor navigatie-->
<!--Begin

function movepic(img_name, img_src)
{
document[img_name].src = img_src;
}


function klikken(img_name)
{
welke = img_name;
}


function setpics(img_name, img_src)
{
document.button1.src = 'images/producten_off.jpg'
document.button2.src = 'images/advies_off.jpg'
document.button3.src = 'images/informatie_off.jpg'
document.button4.src = 'images/belastingplan_off.jpg'
document.button5.src = 'images/bedrijf_off.jpg'
document.button6.src = 'images/vragen_off.jpg'
document.button7.src = 'images/disclaimer_off.jpg'
document.button8.src = 'images/privacy_off.jpg'

if(welke==img_name)
{
document[img_name].src = img_src;
}
}

die roep ik dan als volgt aan:

<a href="producten/subframe.htm" target="center"
onmouseover="movepic('button1','images/producten_on.jpg')"
onclick="klikken('button1')"
onmouseout="setpics('button1','images/producten_on.jpg')">
[img]"images/producten_off.jpg"[/img]

Hij doet het alleen niet en ik kom er nu niet uit, ik kijk ook al zo lang naar deze code... :'(

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

trefwoord is preloaden.
gebruik ff de search voor meer info. Zijn nl. al vijf miljoen topics over.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • huistra
  • Registratie: April 2001
  • Laatst online: 08-05-2024
Op maandag 27 augustus 2001 17:00 schreef drm het volgende:
trefwoord is preloaden.
gebruik ff de search voor meer info. Zijn nl. al vijf miljoen topics over.
preload heb ik er al wel inzitten, misschien heb ik niet duidelijk genoeg uitgelegd, wat ik bedoel is dat zodra er geklikt wordt, de mouseover blijft staan. Ook als er daarna met de muis van de button afgegaan wordt.
Zo kan de gebruiker zien in welk menu-item hij is aanbeland.
Wanneer er vervolgens op een andere button geklikt wordt, moet die mouseover blijven staan, de andere moet dan gewoon weer de (oorspronkelijke) mouseout krijgen.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 15:06

RM-rf

1 2 3 4 5 7 6 8 9

a;;ereerst, je functie setpics daar begrijp ik niks van, het is geen preloader, want laadt juist de _off-pics in, maar de .src van de buttons is nu juist al de te laen .src (nogal dubbel dus?)

je probleem bevat eigenlijk twee verschillende handelingen:
1. zodra er op een plaatje geklikt wordt houdt de onmouseover op
2. zodra er op een plaatje geklikt wordt word de mouseover op het vorige plaatje waarop geklikt is weer actief , en dit plaatje wordt gereset naar de _off-Variant

dat levert een code op als:
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
var welke;
welke = '';

<!--imageswap voor navigatie-->
<!--Begin
var oldImage = new Object()
function movepic(img_name, img_src)
{
   thisImage = document.images[img_name]
   if (thisImage.clicked != "true") 
   {
    thisImage.oldSrc = thisImage.src;
    thisImage.src = img_src;
   }
}


function klikken(img_name)
{
   oldImage.clicked = "false"
   oldImage.src = oldImage.oldSrc
   oldImage = document.images[img_name]
   oldImage.clicked = "true"
}

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • huistra
  • Registratie: April 2001
  • Laatst online: 08-05-2024
Op maandag 27 augustus 2001 17:33 schreef RM-rf het volgende:
a;;ereerst, je functie setpics daar begrijp ik niks van, het is geen preloader, want laadt juist de _off-pics in, maar de .src van de buttons is nu juist al de te laen .src (nogal dubbel dus?)

je probleem bevat eigenlijk twee verschillende handelingen:
1. zodra er op een plaatje geklikt wordt houdt de onmouseover op
2. zodra er op een plaatje geklikt wordt word de mouseover op het vorige plaatje waarop geklikt is weer actief , en dit plaatje wordt gereset naar de _off-Variant

dat levert een code op als:
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
var welke;
welke = '';

<!--imageswap voor navigatie-->
<!--Begin
var oldImage = new Object()
function movepic(img_name, img_src)
{
   thisImage = document.images[img_name]
   if (thisImage.clicked != "true") 
   {
    thisImage.oldSrc = thisImage.src;
    thisImage.src = img_src;
   }
}


function klikken(img_name)
{
   oldImage.clicked = "false"
   oldImage.src = oldImage.oldSrc
   oldImage = document.images[img_name]
   oldImage.clicked = "true"
}
Mijn preload staat hier niet afgedrukt, omdat die hier net echt van belang is.
Die setpics (aangeroepen op mouseout) gebruik ik om alle plaatjes weer op off te zetten, behalve die die in de welke variabele is opgeslagen, die verander je dan weer naar de on variant.
Heb net het volgende ontdekt:
Het probleem is dat het wel goed gaat, maar slechts 1 keer. Dan wordt namelijk de verkeerde img_name meegestuurd in de functie.

Maar zal eens ff jouw wijze proberen, alvast heel erg bedankt RM-rf

  • huistra
  • Registratie: April 2001
  • Laatst online: 08-05-2024
RM-rf,

Heel erg bedankt, je manier werkt en is wel zo eenvoudig! :)

Verwijderd

Sorry :)

/me is nog steeds een ongelooflijkelijke n00b met JS.

Zou je mij misschien kunnen uitleggen hoe ik deze functies aanroep?

mijn plaatjes heten menu1.gif/menu1_on.gif etc.

Thanx!

Verwijderd

Dat heb je zelf bovenaan in je code ook al gedaan..

bv.

onmouseover="functienaam('parameter1','parameter2')"

Leef je uit.
Pagina: 1