[Javascript] Tekst laten uitklappen vanaf andere pagina

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

  • DriesA
  • Registratie: December 2003
  • Laatst online: 27-05 16:52
Heya,

Ik heb een moeilijke javascript-vraag.
Op deze pagina http://www.aendekerk.be/beta/airco/feiten.html staan allerlei vragen (FAQ). Als je daarop klikt klapt de bijhorende tekst daaronder uit.
Dit gebeurt met de volgende code:
code:
1
<a onClick="expandcontent('sc1')">blablabla</a>

De code heb ik op deze pagina gevonden:
http://www.dynamicdrive.com/dynamicindex1/navigate2.htm
De code werkt overigens prima!

Maar nu komt de moeilijkheid. Ik zou graag op een andere pagina (pagina b) een link leggen naar deze pagina (pagina a). En dan wil ik dat op die pagina (a) een bepaalde tekst is uitgeklapt. Dus op pagina b heb ik dan die hele javascript-code in de header geplakt. En dan heb ik de link als volgt ingesteld:
code:
1
<a href="pagina_b.html" onClick="expandcontent('sc1')">blablabla</a>


Ik was blijkbaar te optimistisch want het werkt niet. Kan iemand me een handje helpen?

[ Voor 13% gewijzigd door DriesA op 16-02-2004 15:42 ]

I don't have hard drives. i just keep 30 chinese teenagers in my basement and force them to memorize numbers.


Verwijderd

als b door a is geopend: opener.expandContent(etc)
anders de naam van je window bv. in een frameset. Je moet dus het juiste window ff aanspreken

(ik heb het vermoeden dat dit duidelijker kan...)

  • DriesA
  • Registratie: December 2003
  • Laatst online: 27-05 16:52
Ik gebruik geen frames op deze site.
Kun je iets duidelijker zijn met die opener? Sorry ik ben een echte newbie op dit gebied... Ik vermoed dat ik een bepaalde parameter moet meegeven in mijn <a></a>, maar verder als dat geraak ik niet.

I don't have hard drives. i just keep 30 chinese teenagers in my basement and force them to memorize numbers.


Verwijderd

niks parameter, je moet gewoon naar je window refereren, dus bv opener als b door a is geopend. Anders moet je zorgen dat a op de een of andere manier een naam gekregen heeft.

  • DriesA
  • Registratie: December 2003
  • Laatst online: 27-05 16:52
:?
Sorry, ik begrijp er eigenlijk niet veel van. Zou je dat a.u.b. iets duidelijker willen uitleggen? Ik heb nog nooit van een opener gehoord.

I don't have hard drives. i just keep 30 chinese teenagers in my basement and force them to memorize numbers.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

je spreekt van een opener op het moment dat pagina a pagina b opent (dmv window.open); vanuit pagina b kan je dus dmv de opener property pagina a benaderen.
Als a en b echter 2 losstaande windows zijn, dan is er geen enkele manier om via script vanuit de ene pagina de andere aan te spreken; je kan hooguit als het window een name heeft dat als target gebruiken voor navigatie.

Intentionally left blank


  • DriesA
  • Registratie: December 2003
  • Laatst online: 27-05 16:52
Het zijn inderdaad twee losstaande pagina's. :-/
Zou het mogelijk zijn via cookies?
Ik heb in de code daar iets van gezien, maar ik kan er niet goed aan uit:

code:
1
2
var enablepersist="on" //Enable saving state of content structure using session cookies? (on/off)
var collapseprevious="yes" //Collapse previously open content when opening present? (yes/no)

I don't have hard drives. i just keep 30 chinese teenagers in my basement and force them to memorize numbers.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Dries_Aendekerk schreef op 16 februari 2004 @ 18:17:
Het zijn inderdaad twee losstaande pagina's. :-/
Zou het mogelijk zijn via cookies?
Ik heb in de code daar iets van gezien, maar ik kan er niet goed aan uit:

[...]
Nee, met cookies kan je daar ook niets aan doen; als je gewoon 2 losse pagina's open hebt dan hebben de pagina's gewoon geen weet van elkaar, dus kan je ze ook niet laten communiceren (op het targetten na, maar dat speelt op een hoger niveau).

edit: er is 1 optie, stel je doet in pagina B het volgende:

JavaScript:
1
window.name = 'paginaB';


en je doet in pagina A dit:

JavaScript:
1
var paginaB = window.open('url_naar_pagina_b', 'paginaB');


dan refreshed pagina B welliswaar, maar heb je wel een relatie gemaakt (als pagina B nog niet bestond wordt die natuurlijk geopend in een nieuw window).

[ Voor 27% gewijzigd door crisp op 16-02-2004 23:59 ]

Intentionally left blank


  • ShadowrunR
  • Registratie: Maart 2002
  • Laatst online: 22-05 23:53
Ik denk dat hij wil linken naar een een pagina (in hetzelfde venster), en als die pagina geopend is, het juist antwoord uitgeklapt staat.

In dit geval zul je met variabelen moeten werken die je meegeeft aan je url.
dus:
<a href="pagina.html?varname=variable">, wat je dan weer met Javascript kan uitlezen.

  • DriesA
  • Registratie: December 2003
  • Laatst online: 27-05 16:52
Inderdaad. Volgens mij moet dit mogelijk zijn. Maar hoe programmeer je dat Javascript die parameter moet uitlezen?
De link zou dus zijn: "pagina.html?switchcontent=sc1".
Ik weet dat ik met de display-eigenschap van CSS het volgende moet instellen:
code:
1
2
3
<div id="sc1" class="switchcontent" style="display:block">
"
</div>

Maar uiteraard moet de "sc1" in bovenstaande code afhangen van de parameter die ik meegeef in de URL.

I don't have hard drives. i just keep 30 chinese teenagers in my basement and force them to memorize numbers.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

doet eens in je pagina het volgende:

JavaScript:
1
alert(window.location.search);

Intentionally left blank


  • DriesA
  • Registratie: December 2003
  • Laatst online: 27-05 16:52
Als ik gewoon pagina.html oproep krijg ik een leeg dialoogvenstertje met een geel uitroepteken.

als ik "pagina.html?expandcontent=sc1" oproep staat er in dat venster "?expandcontent=sc1"

I don't have hard drives. i just keep 30 chinese teenagers in my basement and force them to memorize numbers.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Dries_Aendekerk schreef op 17 februari 2004 @ 19:19:
Als ik gewoon pagina.html oproep krijg ik een leeg dialoogvenstertje met een geel uitroepteken.

als ik "pagina.html?expandcontent=sc1" oproep staat er in dat venster "?expandcontent=sc1"
ja, dus nu weet je hoe je de querystring in script beschikbaar kan maken; aan jou de taak om daar dan wat mee te doen ;)

Intentionally left blank


  • DriesA
  • Registratie: December 2003
  • Laatst online: 27-05 16:52
code:
1
2
3
<div id="window.location.search" class="switchcontent" style="display:block">
"
</div>

Zit ik hiermee in de goede richting?

Ik zit dan wel met een probleem. De waarde van "id" is dan wel "?expandcontent=sc1" of als ik link naar "pagina.html?sc1" is de waarde "?sc1". Hoe haal ik het vraagteken eruit? Want als ik zou linken naar "pagina.htmlsc1" krijg ik natuurlijk een 404.

Bedankt voor de hulp in ieder geval. Ik heb nog nooit zoveel javascript gezien als de laatste dagen/weken...

I don't have hard drives. i just keep 30 chinese teenagers in my basement and force them to memorize numbers.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Dries_Aendekerk schreef op 17 februari 2004 @ 19:28:
code:
1
2
3
<div id="window.location.search" class="switchcontent" style="display:block">
"
</div>

Zit ik hiermee in de goede richting?

Ik zit dan wel met een probleem. De waarde van "id" is dan wel "?expandcontent=sc1" of als ik link naar "pagina.html?sc1" is de waarde "?sc1". Hoe haal ik het vraagteken eruit? Want als ik zou linken naar "pagina.htmlsc1" krijg ik natuurlijk een 404.

Bedankt voor de hulp in ieder geval. Ik heb nog nooit zoveel javascript gezien als de laatste dagen/weken...
script in een id gaat natuurlijk niet werken; als je echter die id uit je querystring haalt kan je daarmee het element wel benaderen :)
de meest eenvoudige manier om dat vraagteken eruit te halen is natuurlijk de substr() method; kijk eens in een reference

Intentionally left blank

Pagina: 1