Toon posts:

Image rollover en frames

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

Verwijderd

Topicstarter
Probleempje en ik kom er maar niet uit:

Ik heb een pagina met frames als volgt opgebouwd:

------------------------
| 1 | 2 |
------------------------
| | |
| 3 | 4 |
| | |
------------------------

Nu heb ik mijn navigatie menu in frame 3 (genaamd: nav) zitten. In frame 2 (top) staan een aantal plaatjes. Nu wil ik als ik over een menu item ga, dat het bijbehorende plaatje in het top frame mee veranderd. Ik krijg het niet werkend.
code:
1
<a href="home.html" onmouseover="highlight(1,'bt_home'); document.top.images['pic1'].src='gfx/pt_home_h.gif';" onmouseout="lowlight(1,'bt_home');">[img]"gfx/bt_home.gif"[/img]</a>

In bovenstaande code wordt geregeld dat bij een onMouseOver de menu knop veranderd en bij de onMouseOut de knop weer terugveranderd. Dit werkt goed en gebeurd in hetzelfde frame. Maar nu moet er dus nog iets bij dat het bijbehorende plaatje in het top frame veranderd en weer terug veranderd. Heb al een stukje code staan maar dat werkt niet. Wie helpt mij...

  • D-Three
  • Registratie: Oktober 2001
  • Nu online
Kan dat wel? Het figuur in een ander frame veranderen? Want iedere frame heeft toch een andere HTML-pagina en je praat dus over verschillende HTML-pagina's??

Verwijderd

Topicstarter
Ja ik heb het over verschillende HTML's. Ik weet het zelf ook niet precies, maar goed. Is het op te lossen mbv JavaScript ??? Of is het gewoon niet te doen.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

zet je opbouw even tussen
[code] [ /code]
, dan wordt de indruk iets duidelijker :)

verder kun je frames aanspreken via de "hierarchie". met top kom je in het buitenste scherm (meestal de frameset) en met parent kom je "een stapje hoger".

een plaatje in een ander frame kun je aanspreken bijvoorbeeld met:

top.menuframe.document.images['menu01'].src = 'menu01b.gif';

o.i.d. :)

Verwijderd

Topicstarter
Dus in mijn geval:

top.top.document.images['.....'].src = 'pt_home.h.gif';


de tweede top is de naam van het frame waar de images in staan die veranderd moeten worden.
Wat komt er tussen [ ] ???? Moet ik mijn images allenaam van een naam voorzien om ze zo aan te spreken ???

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

ik denk dat je de naam van dat frame even moet veranderen ;)

of mogelijk kun je hem aanspreken met top.frames['top'], maar dat schept wel een boel verwarring ;)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Goh, is deze wederom van toepassing :D

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


  • D-Three
  • Registratie: Oktober 2001
  • Nu online
Op donderdag 04 juli 2002 15:46 schreef Bosmonster het volgende:
verder kun je frames aanspreken via de "hierarchie".
Ah, das juist... |:( Dat ik dat nu vergeet!

edit:

En hier is ie! ;)
Afbeeldingslocatie: http://khbo.be/~calu/webtechnologie/figuren/fig09.png

Verwijderd

Topicstarter
Owkee het is dus mogelijk ;)

Maar dan nog kom ik er niet uit. Zit al zo lang te klooien met dir probleem. Ik zie dat je in het frame met de 'menu-items' een stukje .js inlaad:
code:
1
swap = top.frames [ 0 ].swap;

En je geeft de images een naam, wel iedere keer dezelfde BTW. Maar in mijn geval gaat het om 6 menu items met iedereen een eigen plaatje. Eerst een orgineel en daarna een highlight versie. Ik kom er aan de hand van die site nog steeds niet uit. Graag iets meer uitleg :o

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Als je in de source van de index kijkt, zie je dat er 1 frame (het eerste frame, frame 0) enkel code en data bevat.

Wat er in loadcode.js staat, is enkel de verwijzing van een functie "swap" naar de functie "swap" uit dat codeframe.

Dat enkel, dat je niet elke keer die functie swap zo
code:
1
top.frames [ 0 ].swap ( .. );

hoeft aan te roepen.

Verder staan ook in dat codeframe de verwijzingen naar de plaatjes, en de code op de plaatjes te swappen.

hth :)

edit:
Heb 'm nog iets aangepast zodat 't misschien iets duidelijker wordt.

die swap () functie doet dus dit:
code:
1
swap ( [framenr], [imagenr], [imagenr 2] );

Vervang de src van het plaatje met de index/name [imagenr] uit het frame met index/name [framenr] met de src van het plaatje [imagenr 2] uit de array swappers uit het bestandje code.html

zo hth :D

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


Verwijderd

Topicstarter
Het werkt. De eerste uitwerking begreep ik al. Alleen had ik dat frame met de code over het hoofd gezien. Vond het al gek waar die 2e smillie vandaan kwam ;)

Maar goed, hartstikke bedankt voor de uitleg...

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

MiKe_V:
Het werkt. De eerste uitwerking begreep ik al. Alleen had ik dat frame met de code over het hoofd gezien. Vond het al gek waar die 2e smillie vandaan kwam ;)

Maar goed, hartstikke bedankt voor de uitleg...
np :)

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

Pagina: 1