Toon posts:

[Javascript] sluiten menu

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

Verwijderd

Topicstarter
Hey,,

Ik heb een menu op mijn site, met een aantal links e.d. en ik gebruik deze code om in 1x het hele menu te sluiten, dus de sub menu's die dan open staan worden gesloten:

code:
1
<a href="javascript:location.reload()" target="_self">[img]"home.gif"[/img]</a>


Ik gebruik 3 frame's:
boven.asp
menu.asp
home.asp

nou wil ik dat als ze de bovenstaande code gebruiken (op het plaatje klikken dus) dat ik het frame "home" de pagina begin.asp wordt geladen.
Wat moet ik dan aan mijn code toevoegen?

Verwijderd

Zoek a.j.b. eens op: window.frames

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

crisp

Devver

Pixelated

Oef, een reload om een menu te sluiten? Kan je niet beter bijhouden welk menu er open staat en met een stukje JS aanroepen die dan sluiten; hoef je geen roundtrip naar de server te doen.
Om een frame te herladen moet je gewoon even zoeken; zelfs in onze FAQ staat een voorbeeld van hoe je een frame kan benaderen via script...

Intentionally left blank


Verwijderd

Topicstarter
Ok ik heb even gezocht en ik kwam op deze site:

http://www.devguru.com/Te.../quickref/win_frames.html

Maar nou ben ik nog niks verder want nou weet ik niet waar ik wat moet zetten

Moet ik nou achter het frame "home" in de index dit zetten: window.frames["framename1"]
en dan in de code in het menu dit erin zetten: window.frames[0]
:?

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

crisp

Devver

Pixelated

stel je hebt 2 frames genaamd menu en content; vanuit je menu kan je dan het content-frame op deze manier benaderen:
JavaScript:
1
parent.frames['content']

dat verwijst naar het window-object van je content frame, dus voor een reload() doe je dit:
JavaScript:
1
parent.frames['content'].location.reload();


simpel...

Intentionally left blank


Verwijderd

Topicstarter
jah maar ik wil dat als ik op de knop druk (home.gif) dat het menu dan sluit en dat je in het frame "home" de pagina "begin.asp" te zien krijgt

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

crisp

Devver

Pixelated

met top.location kan je je hele frameset overschrijven

Intentionally left blank


Verwijderd

Topicstarter
als ik de code top.location gebruik:

code:
1
<a href="javascript:top.location;">[img]"home.gif"[/img]</a>


dan refreshd de hele pagina.
Oef, een reload om een menu te sluiten? Kan je niet beter bijhouden welk menu er open staat en met een stukje JS aanroepen die dan sluiten; hoef je geen roundtrip naar de server te doen.
Om een frame te herladen moet je gewoon even zoeken; zelfs in onze FAQ staat een voorbeeld van hoe je een frame kan benaderen via script...
uhm ja zogoed kan ik javascript niet :? :D :'(
en dit was ook even een tijdelijke oplossing, deze is inderdaad niet egt professioneel

[ Voor 14% gewijzigd door Verwijderd op 02-11-2004 14:35 ]


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

crisp

Devver

Pixelated

dan begrijp ik je wellicht verkeerd; dit zou moeten werken (en is meer accessible):

HTML:
1
<a href="begin.asp" target="home" onclick="window.location.reload()">bla</a>

Intentionally left blank


Verwijderd

Topicstarter
jaa perfect het werkt _/-\o_
Ennuh met dat menu sluiten he kan ik dan hier iets mee, dit heb ik gevonden:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<Script Language="VBscript">
      <!--
      Option Explicit
      DIM menuID,menuObj,cellBk
      SUB ShowHide(menuID)
      menuObj = "Link" & menuID
      cellbk = "Head" & menuID
      // CHECK IF OPEN
      if document.all.item(menuObj).className = "LINKSON" then    'IF MENU OPEN THEN CLOSE
      document.all.item(menuObj).className = "LINKSOFF"
      ELSE
      document.all.item(menuObj).className = "LINKSON"               ' OPEN MENU   
      END IF
      END SUB
      -->
      </Script>

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

crisp

Devver

Pixelated

vervang dat stukje IE-only VBScript liever door javascript...
Voorbeelden van goed werkende menu's zijn er ook zat te vinden.

[ Voor 35% gewijzigd door crisp op 02-11-2004 15:06 ]

Intentionally left blank


Verwijderd

Topicstarter
Ok thnx voor de hulp _/-\o_

Verwijderd

Topicstarter
Het is me gelukt door ShowHide() te gebruiken :)
zo werkt hij wel:

code:
1
2
3
4
<td ALIGN="center" bgcolor="#FFFFFF">
      <!-- Menu 2 -->
      <div ID="Link1" CLASS="LINKSOFF">
      <a href="home.asp" target="home" onclick="ShowHide(1)">[img]"kruisje.bmp"></a[/img]


Thnx voor alle hulp :*)

[ Voor 93% gewijzigd door Verwijderd op 03-11-2004 08:35 ]


Verwijderd

Topicstarter
Ik heb nog 1 vraagje, ik heb nou bovenaan mijn menu een link "Home" en als ik daarop klik zet hij home.asp in het frame "home".
Nou wil ik dat hij ook de openstaande sub-menu's meteen sluit dan.
Hoe kan ik dat het beste doen?
Met een code laten kijken welke menu's open staan en die dan sluiten maar welke code gebruik je daarvoor.
De code die ik eerst gebruikte:
code:
1
a href="javascript:location.reload()"

[ Voor 38% gewijzigd door Verwijderd op 04-11-2004 15:27 ]

Pagina: 1