Hi allemaal,

Ik heb hier een vraagje over javascript. nl waarom werkt hetvolgende niet:

<script language='Javascript'>

function load2(url2) {
parent.frame2.location.href=url2;
}

function load(url1,url2) {
parent.frame1.location.href=url1;

setTimeOut("load2(+url2+)", 500)
}

</script>

<A HREF="" onClick="Javascript: load('a.php','b.php')">Hier</A>
Een onClick, onMouseobver, Onmouseout, onChange ís al een javascriptfunctie, dus daar hoeft niet meer JavaScript: voor te staan. Het gaat dus zo:
<script language='Javascript'>

function load2(url2) {
parent.frame2.location.href=url2;
}

function load(url1,url2) {
parent.frame1.location.href=url1;

setTimeOut("load2(+url2+)", 500)
}

</script>

<A HREF="" onClick="load('a.php','b.php')">Hier</A>
en Tim werkt het of wat?
Geduld is een schone zaak weet je :P maar ik ben het aan het proberen
Klopt het volgende dan wel (met dat Javascript:):

<a href="javascript:load('a.php','b.php')">

???
<A HREF="" onClick="load('a.php','b.php')">Hier</A>
Oke
Dat werkt niet zoals ik het graag zou willen. Ik wil graag dat alleen de twee frames refreshen, niet de hele pagina...
Vraag:
Hoe kan ik meerdere frames tegelijk verversen?

Antwoord:
Je kent het wel, je hebt links een menu en rechts een webpagina. Je klikt op een menu-optie en rechts verschijnt de nieuwe webpagina. Maar wat als die pagina nu een eigen (sub)menu heeft. Kun je die tegelijk met de webpagina in het linkerframe laden? Ja, dat kan, en wel op twee manieren:

Met HTML:
Je laat de link niet verwijzen naar een webpagina maar naar een andere master. In die master laat je dan het submenu en de bedoelde webpagina verschijnen. Een makkelijke oplossing dus.

Met Javascript:
Nadeel van de HTML-methode is, dat je voor elke voorkomende combinatie van frames een nieuwe frameset moet maken.
Als je wat meer lef hebt, gebruik je dus javascript. Je moet achtereenvolgens het volgende doen: Maak een master met twee frames waarin je elk frame een naam geeft.
Maak twee menubestanden aan. Zet de volgende javascript code tussen de <HEAD> </HEAD> -tags van die menubestanden:

  <HEAD>
    <TITLE>Twee frames verversen</TITLE>
    <SCRIPT language="javascript">
      function loadLinks(cUrl1,cFrame1,cUrl2,cFrame2) {
      parent.frames[cFrame1].location = cUrl1
      parent.frames[cFrame2].location = cUrl2
      }
    </SCRIPT>
  </HEAD>

Nu gaan we de links in het menu aanmaken. In plaats van direct naar een html-bestand te verwijzen, maken we een aanroep naar de javascriptfunctie:

  <A href="javascript:loadLinks('url1','frame1','url2','frame2')">Ververs twee frames</A>

De parameters 'url1' en'url2' vervang je door de namen van de html-bestanden die je in plaats van de huidige bestanden in de frames wilt laden.
De parameters 'frame1' en 'frame2' vervang je door de namen van de frames waarin je die documenten wilt laden.

Als je een beginnende frames-kunstenaar bent en nog helemaal niets van Javascript afweet, kun je even naar dit voorbeeld ( http://home.concepts-ict.nl/~michael1/frames/frameset.html ) kijken. Als je goed naar de broncode kijkt, moet je er wel uit kunnen komen.

--------------------------------


Bron: http://home.concepts-ict.nl/~michael1/faq.html#frames
Dit heb ik, maar ik wil nu ook een SetTimeOut inbouwen :)

Reageren