[HTML] DHTML menu --> frame/framepage

Pagina: 1
Acties:

  • Vimana
  • Registratie: Juni 2001
  • Laatst online: 23-08 12:57
O.K. Ik hoop dat ik het probleem met het volgende een beetje makkelijk kan uitleggen :) .

Ik ben bezig met een site, waarvan de lay-out wat versimpeld hieronder is te zien:

Afbeeldingslocatie: http://www.entity-designs.com/pics/1.gif

De site is onderverdeeld in 5 verschillend "gekleurde" thema's (o.a. blauw en groen) welke gemakkelijk geopend kunnen worden d.m.v. 5 buttons in de topframe.


In het left menu zit een DHTML menu welke ongeveer zo (simpel weergegeven) is opgebouwd:

-
Blauw thema:
*knop 1 verwijst naar een blauwe page welke wordt weergegeven in de main frame
*knop 2 verwijst naar een blauwe page welke wordt weergegeven in de main frame
*knop 3 verwijst naar een blauwe page welke wordt weergegeven in de main frame
-
Groen thema:
*knop 1 verwijst naar een groene page welke wordt weergegeven in de main frame
*knop 2 verwijst naar een groene page welke wordt weergegeven in de main frame
*knop 3 verwijst naar een groene page welke wordt weergegeven in de main frame
-
etc.


Voorbeeld probleem:
Ik begin in het blauwe thema, d.m.v. op de blauwe top button te klikken.
Ik klik in het DHTML menu (leftframe dus) in het blauwe-thema gedeelte op knop 1, waarna in de mainframe een blauwe pagina word weergegeven (no problem so far), dit is idem met knop 2 en 3.

Nu het probleem.

Zodra ik vanuit het DHTML menu op een button klik in het groene-thema, opent deze uiteraard een groene pagina in een compleet blauwe frame page!

Afbeeldingslocatie: http://www.entity-designs.com/pics/2.gif

Terwijl ik juist een compleet groene page wil:

Afbeeldingslocatie: http://www.entity-designs.com/pics/3.gif


Nu zou ik uiteraard het DHTML menu kunnen veranderen zodat deze niet doorverwijst naar een pagina in de mainframe, maar voor elke pagina een complete frame-page opent.
Dit wil ik liever niet doen i.v.m. de bestandsgrootte en omdat ik dan wel erg veel pagina's moet gaan omzetten naar complete framepages.

What to do?

Is het mogelijk dat elke main pagina checkt of iet in hetzelfde gekleurde framepage staat, zo niet, dat ie dan de juistgekleurde framepage om zich heen opent?

sorry voor de lange post :+

[ Voor 4% gewijzigd door Vimana op 06-03-2003 12:19 ]


  • Barracuda_82
  • Registratie: September 2001
  • Laatst online: 19-12-2024

Barracuda_82

mkTime(), not war!

Ik heb volgens mij ook ooit eens iets gemaakt wat jij ongeveer bedoelt.

Ik had ook verschillende stijlen of thema's met verschillende kleuren die je dor middel van een klik op een link aan kon passen.

Dit heb ik gedaan door een javascriptje in een cookie weg te laten schrijven welke thema er is gekozen en aan het begin van elke pagina word ook door een javascriptje gekeken in het cookie welke er nu is gekozen en aan de hand van de gegevens in de cookie word de bijbehorende style-sheet ingeladen.

Op deze maniet hoef je niet weet-ik-hoeveel verschillende pagina's te maken voor alle kleuren, maar blijft de content hetzelfde en veranderd er alleen wat er in de stylesheet anders is (dit kan varieren van andere lettertype tot een komplete andere lay-out op de pagina).

Hier een voorbeeld in een schoolopdracht (portfolio)

Deze techniek werkt niet in netscape, maar misschien is dit met enige fantasie wel voor elkaar te krijgen.

  • Vimana
  • Registratie: Juni 2001
  • Laatst online: 23-08 12:57
Hmmz...

Klinkt op zich wel goed, maar veel mensen hebben cookies uitstaan in de browser.
Ik wil liver een oplossing welke minder/niet browser afhankelijk is :)

  • Barracuda_82
  • Registratie: September 2001
  • Laatst online: 19-12-2024

Barracuda_82

mkTime(), not war!

Vimana schreef op 06 March 2003 @ 12:39:
Hmmz...

Klinkt op zich wel goed, maar veel mensen hebben cookies uitstaan in de browser.
Ik wil liver een oplossing welke minder/niet browser afhankelijk is :)
Je bereikt er inderdaad alleen maar de mensen mee die cookies aan hebben staan en IE 5.5+ draaien.

Misschien kun je ongeveer hetzelfde bouwen met PHP? Dan kun je gewoon aan het begin van de pagina een CSS uit een database laten halen, dat werkt ook ondere andere browsers.

Verwijderd

je zou wellicht de kleur in de naam van de pagina mee kunnen nemen (ook voor top en left) en dan checken of de huidige naam overeenkomt met de namen van de zijframes? of ipv in de naam een variabele die je uit leest. ik heb zelf een keer aan zo'n pagina gewerkt die door iemand anders was opgezet, die gaf bij elke link een code mee. dat vond in in elk geval geen goed plan

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

Als eerste: noem een frame in geen geval 'top', dat geeft geheid problemen!!

Als je er vanuit gaat dat het laagste element in de hierarchie de layout bepaald dan kun je het volgende doen:

De pagina die de bezoeker wil zien (melp.html bijv.) heeft de kleur groen, dus alles eromheen moet groen worden.
Onlaod roep je dan een functie aan die je in het menu gedefinieerd hebt.
Die functie ziet er dan ongeveer zo uit:

code:
1
2
3
4
 function setColorSiteWide( whichColor ){
    top.frames['toppie'].document.bgColor = whichColor;
    top.frames['left'].document.bgColor = whichColor;
 }


die roep je dan als volgt aan:
code:
1
<body onload="top.frames['toppie'].setColorSiteWide( '#00ff00' );">


daarnaast zou je nog iets in kunnen bouwen dat de pagina's elkaar in de gaten houden, zodat de kleur mee verandert als op de back-button gedrukt wordt.

[ Voor 11% gewijzigd door Hangloozz op 06-03-2003 14:47 . Reden: stukje vergeten ]

www.jurgroessen.nl


  • Vimana
  • Registratie: Juni 2001
  • Laatst online: 23-08 12:57
Hangloozz schreef op 06 March 2003 @ 14:45:
Als eerste: noem een frame in geen geval 'top', dat geeft geheid problemen!!
Het top frame heet fysiek geen "top" ik heb dat in het plaatje even top genoemd, had net zo goed "boven" kunnen zijn :) .

Ik zal es proberen of jouw oplossing werkt, mocht ik er vandaag nog aan toekomen laat ik het wel ff weten!

[ Voor 53% gewijzigd door Vimana op 06-03-2003 15:29 ]


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

nou het was ook gewoon even een waarschuwing, geen beschuldiging ;)

www.jurgroessen.nl

Pagina: 1