Avatar billede photop Nybegynder
10. november 2007 - 00:04 Der er 7 kommentarer og
1 løsning

Linke til skjult position i et dokument

Mit problem knytter sig til siden www.synnejysk.org/videnscenter.php
De enkelte undermenupunkter (Spillere, Kampe, Trænere osv), består af hver deres php og/eller html fil.

Hver fil er struktureret med overskrifter i 3 niveauer med tilhørende afsnit pakket ind i div's. Et simpelt javascript sørger for at folde de enkelte afsnit og underafsnit ud og ind når man klikker på overskriften, men som standard er de alle indstillet til at være skjult.

Mit problem er nu at jeg gerne vil kunne linke direkte til hvert enkelt afsnit i hele dokumentet. Det er ikke noget problem at tilføje et anchor-point, som jeg kan linke til, men hvordan sørger jeg for at lige nøjagtig de nødvendige afsnit foldes ud?

Jeg er sådan set ligeglad med om det er JavaScript eller PHP, bare det virker :D
Avatar billede w13 Novice
10. november 2007 - 03:20 #1
Med funktionen Fold_Content(div'ens id) ser det da ud til. Men er ikke helt sikker på, jeg forstår dit problem. Dette eksempel sku' da gerne ku' klare det:

<a href="#traenerskifte" onclick="Fold_Content(traenerskifte)">Linket</a>
Avatar billede photop Nybegynder
10. november 2007 - 14:28 #2
Det jeg vil kunne er at hvis jeg i min browsers adresselinie skriver noget der ender med fx #traenerskifte, så skal siden automatisk vises med dette afsnit foldet ud.

Problemet er jo så at hvis det afsnit jeg linker til er et underafsnit til et andet afsnit, så skal overafsnittet også foldes ud, for at jeg kan se det!
Avatar billede w13 Novice
10. november 2007 - 14:38 #3
Du bliver nødt til manuelt at sætte funktionen Fold_Content() i gang. Javascript kan ikke blive sat i gang af et bogmærkelink. Så du må gøre det som i mit eksempel oven over.

Og skal du åbne 2 afsnit, bliver det:

<a href="#underafsnit" onclick="Fold_Content(overafsnit);Fold_Content(underafsnit)">Linket</a>
Avatar billede roenving Novice
11. november 2007 - 04:19 #4
Altså skal du f.eks.

<script type="text/javascript">
window.onload = function(){
  var q = location.search;
  if(q){
    q = q.substring(1).split(";");
    for(i=0,im=q.length;im>i;i++){
      q[i] = q[i].split("=");
      Fold_Content(q[i][1]);
    }
  }
}
</script>

-- afhængig af din url kan der selvfølgelig være nogle forskelle !-)
Avatar billede photop Nybegynder
14. november 2007 - 09:33 #5
w13> Hele fidusen, er at man i forskellige konferencer (forum) på internettet, skal kunen henvise til et sted på siden. Så det SKAL kunne gøres ved simpelthen at skrive et www - link som brugere kan klikke på.

Jeg vil mene at jeg kunne gøre det ved at opbygge et sitemap for siden - eksempelvis med navnene på de enkelte anchors/afsnit i et 2-dimensionalt array. Så er det vel relativt enkelt at lave en funktion der søger array'et igennem, og så køre fold_content funktionen på de relevante afsnit så snart siden loader.
Jeg havde bare håbet (af vedligeholdelsesmæssige årsager) at det kunne gøres enklere!
Avatar billede photop Nybegynder
25. november 2007 - 00:21 #6
Jeg må hellere få lukket. Nogen der er interesserede i point?
Avatar billede w13 Novice
25. november 2007 - 02:30 #7
Ikke til mig, tak! =)
Avatar billede photop Nybegynder
22. december 2007 - 23:27 #8
Så lukker jeg...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester