Avatar billede dank Nybegynder
18. maj 2003 - 14:39 Der er 11 kommentarer og
1 løsning

Hjælp til at gennemskue script

Hej.. er der nogen der kan hjælpe med at gennemskue dette script.

Det er et såkaldt "folder tree" script, som benytter PHP+js, og det jeg har behov for er en metode således at en "gren" er uvidedet/expanded pr. default når siden vises.

Sagt på en anden måde, i nedenstående demo ønsker jeg at "catalog search" er expanded når man kommer ind på siden.

Men det kunne i princippet være lige omvendt, altså en anden "gren" der skulle være expanded når siden vises.. så hvis jeg kunne angive det via en variabel, at f.eks. $node1 er expanded så ville det være rigtigt godt.

En funktionel demo kan ses her:
http://scripts.1go.dk/class.tree_1.0/index.php3

PHP klassen kan ses her:
http://scripts.1go.dk/class.tree.phps

js:
http://scripts.1go.dk/ftiens4.js.txt

Scriptet bliver kaldt med dette i .php filen: http://scripts.1go.dk/class.tree_1.0/index.phps
Avatar billede schaefner Juniormester
18. maj 2003 - 14:44 #1
I ftiens4.js.txt, linje 475

//USETEXTLINKS = 0
//STARTALLOPEN = 0
indexOfEntries = new Array
nEntries = 0
doc = document
browserVersion = 0
selectedFolder=0 // Her kan du nok sætte den der skal være åben
Avatar billede dank Nybegynder
18. maj 2003 - 15:00 #2
har lige prøvet at sætte selectedFolder=0 til =1 istedet (også prøvet 2,3) det virkede desværre ikke :o)
Avatar billede roenving Novice
18. maj 2003 - 15:08 #3
Prøv med en

<body ... onload="clickOnFolder(folderId);">
Avatar billede dank Nybegynder
18. maj 2003 - 15:33 #4
roenving> Det virker.. sådan nogenlunde :o) Jeg synes ikke det er den optimale løsning, men det er klart bedre ind ingenting. bl.a. er jeg ikke så glad for denne løsning, da min kode ligger over 3-4 filer, og jeg skulle gerne kunne angive via url'en eller andet hvilken der skal være åben..

Så det kan jeg nok gøre med noget


<body ... <?php if($xxx..... ->onload="clickOnFolder(folderId);">

Men det bliver vist noget rodet kode :)

Kan man med din metode angive "flere" mapper der skal være åbne, jeg har prøvet med

<body onload="clickOnFolder(1); onload="clickOnFolder(2);">

Men det ser ikke ud til at virke, problemet er at hvis den skal "collapse" mere end 1 niveau, så kommer der vist problemer så vidt jeg kan se.
Avatar billede schaefner Juniormester
18. maj 2003 - 15:34 #5
dank >> Prøv:

<body onload="clickOnFolder(1); clickOnFolder(2)">
Avatar billede dank Nybegynder
18. maj 2003 - 15:42 #6
ja det virker ser det ud til.. Men det bliver godt nok noget "rodet" kode..

Er det en ok måde at gøre således:

<body ... <?php if($xxx..... ->onload="clickOnFolder(folderId);">

Således at jeg kan collapse "efter behov" når siden kaldes? Eller er der noget jeg har overset?
Avatar billede roenving Novice
18. maj 2003 - 16:05 #7
-- tror, at du bliver nødt til at angive værdien direkte -- men det kan du jo også med PHP -- er det sådan, man gør:

<body ... onload="clickOnFolder(<?php if($xxx..... ?>);">
Avatar billede dank Nybegynder
21. maj 2003 - 22:27 #8
skal i have point, så må i oprette svar :)
Avatar billede roenving Novice
21. maj 2003 - 22:31 #9
Virker det ?-)
Avatar billede roenving Novice
11. juni 2003 - 01:50 #10
-- takker for points ;~}
Avatar billede dank Nybegynder
11. juni 2003 - 09:08 #11
selv tak.. undskyld jeg var lidt lang tid om at lukke spørgsmålet
Avatar billede roenving Novice
11. juni 2003 - 09:13 #12
;O)
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