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

Javascript tussen 2 iFrames communiceren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey,

Ik heb niet bijster veel ervaring met javascript. Maar ik kom er zo aardig; ik heb éen index.html met 3 iFrames ('groot', 'klein' en 'lang') en een menu.
Per klik op het menu wordt er een pagina geopend in 'groot', en daarin staat javascript code om de bijhorende andere 2 frames te openen:

groot <head>:
code:
1
2
3
4
5
6
7
8
9
10
    <script language="javascript" type="text/javascript">
    var lem = (self.innerHeight != null && self.innerHeight == 0);
    if ((parent.klein==null || parent.klein!='smallopen') && !lem) {
        parent.klein.location.replace('menu.html');
      }
          var wem = (self.innerHeight != null && self.innerHeight == 0);
    if ((parent.lang==null || parent.lang!='longopen') && !wem) {
        parent.lang.location.replace('descriptions.html');
      }
    </script>


klein & lang <head>:
code:
1
2
3
 <script language="javascript" type="text/javascript">
      var we='longopen';
</script>


Dat werkt allemaal, de 'communicatie' loopt voor de 'lang'-frame met " wem " en voor de 'klein'-frame " lem "
Nu gaat het om de communicatie tussen 'groot' en 'lang' (ik hoop dat het nog te volgen is..).

In een bepaald frame geladen in 'groot' heb ik plaatjes staan, en ik wil bij een mouseover van die plaatjes een beschrijving laden in 'lang'.
Dit principe (mouseover image > beschrijving in een tag) is me al eerder gelukt, maar dat was op 1 pagina en ging als volgt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<head>

<SCRIPT LANGUAGE="JavaScript">
var description = new Array();
description[0] = "beschrijving1";
description[1] = "beschrijving2";
</script>

</head>

<body>

<img onMouseOver="Beschrijving.innerHTML = description[1];">

<a id="Beschrijving">Array voor beschrijving</a>

</body>


Dat werkte perfect. Nu wil ik dus dat de mouseover in frame 'groot' gaat, dat in frame 'lang' de description komt. En ik heb geen idee hoe!

Ik hoop dat 't verhaal duidelijk is.. Wie kan me helpen?

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Buiten het feit dat ik niet helemaal zeker weet waarom je de iframes gebruikt, kan je niet iets als dit doen:
code:
1
<img onMouseOver="parent.lang.getElementById('Beschrijving'].innerHTML = description[1];">
en dan in je lang iframe een element met id Beschrijving?

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Verwijderd

Topicstarter
Ik ben ook geen fan van iframes, maar voor deze layout is het wel een vereiste (gaat vooral om de design van de site), dat zijn 3 vakken (guess; een grote, kleine en een lange). Maargoed,
Ik heb je voorbeeld geprobeerd, en het doet niets..

Niet als ik de descriptions in 'lang' heb staan of 'groot' (eitherway, het doet niets....)

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Verwijderd schreef op donderdag 03 april 2008 @ 12:00:
Ik ben ook geen fan van iframes, maar voor deze layout is het wel een vereiste (gaat vooral om de design van de site), dat zijn 3 vakken (guess; een grote, kleine en een lange). Maargoed,
Ik heb je voorbeeld geprobeerd, en het doet niets..
Afgezien van je JS-probleem, blijft dit niet echt netjes natuurlijk.
Overigens zijn iFrames ook trager dan bijvoorbeeld div's, waarmee precies hetzelfde mogelijk is.

Hang daar dan verschillende ID's aan en middels je JavaScript kan je dan heel simpel de innerHtml aanpassen... :)

Verwijderd

Topicstarter
GJ-tje schreef op donderdag 03 april 2008 @ 12:24:
[...]
Afgezien van je JS-probleem, blijft dit (semantisch gezien) niet echt netjes natuurlijk. Overigens zijn iFrames ook trager dan bijvoorbeeld div's, waarmee precies hetzelfde mogelijk is.

Hang daar dan verschillende ID's aan en middels je JavaScript kan je dan heel simpel de innerHtml mee aanpassen... :)
Hulde! Dat ik daar nog niet aan had gedacht.. Nouja, in ieder geval bedankt voor de headsup! Ik ga het zsm proberen (zal dan wel lukken)