Toon posts:

[JS/DHTML]Hulp nodig bij advanced TreeMenu: ScriptGuru's??

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een uitdaging voor alle JS/DHTML experts of scriptguru's:

Ik ben bezig met een tree-navigiation voor een persoonlijke website. Het menu wordt gebruikt voor het content management system, dus wordt alleen door mij en een aantal moderators bezocht... (werkt namelijk alleen goed in IE + PC, in andere browsers zal het gewoon zichtbaar zijn, maar niets dynamisch)

Ik heb pasgeleden mooi menu gevonden op www.youngpup.net, die heb ik dus ook gebruikt.. Dit systeem werkte eerst met ASP/XML, maar dat heb ik niet nodig, dus ik heb de HTML versie fff online gezet: http://www.digiboy.nl/dev/treenav/treenav.html
(werkt alleen in IE + PC, gebruik die combo dus als je het menu volledig functioneel wilt zien...

Ik wil het menu aanpassen zodat er maar 1 node tegelijk open kan zijn (level 0) maar dit script is net fff iets te ingewikkeld voor me... Heb wel wat prototyping gedaan, maar dan in flash... Dus als er 1 node geopend is en er wordt een andere aangeklikt, dan moet de eerste node weer sluiten...

Hier is nog een keer de omschrijving van het probleem:

Ik wil dus alle level 0 nodes sluiten als er een andere level 0 node geklikt wordt...

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Default menu: (level 0)

option1
option2
option3

Option1 expanded:

option1
    option1.1
    option1.2
    option1.3
option2
option3

Als ik op option3 klik moet option1 automatisch dicht gaan...

option1
option2
option3
    option3.1
    option3.2
    option3.3


Zijn er nog echte scriptguru's die hiermee overweg kunnen? Ik heb de HTML files online gezet op: http://www.digiboy.nl/dev/treenav/treenav.zip

Verder kan je nog fff naar de beknopte documentatie kijken op:
http://www.youngpup.net/?request=/components/ypXmlTree.xml

  • André
  • Registratie: Maart 2002
  • Laatst online: 01-09 14:07

André

Analytics dude

scriptrequest?

Je moet in de code duiken en daar bepaalde aanpasingen maken: Je kunt in een array bijhouden welke items open en welke dicht staan. En op het moment dat jij ergens op klikt kun je met een loop door die array heen en alle items sluiten die gesloten moeten worden.

Dus in jou geval zou je zodra je op een node 0 klikt, met die array kunnen vinden welke node 0's dan gesloten moeten worden.

  • edie
  • Registratie: Februari 2002
  • Laatst online: 22:43
er zijn vast wel zulke menuutjes te vinden die in elke browser werken.

Kijk maar op http://www.cross-browser.com :)

"In America, consumption equals jobs. In these days, banks aren't lending us the money we need to buy the things we don't need to create the jobs we need to pay back the loans we can't afford." - Stephen Colbert


Verwijderd

Topicstarter
Yogho schreef op 27 augustus 2002 @ 11:39:
scriptrequest?

Je moet in de code duiken en daar bepaalde aanpasingen maken: Je kunt in een array bijhouden welke items open en welke dicht staan. En op het moment dat jij ergens op klikt kun je met een loop door die array heen en alle items sluiten die gesloten moeten worden.

Dus in jou geval zou je zodra je op een node 0 klikt, met die array kunnen vinden welke node 0's dan gesloten moeten worden.
hehe, daar ben ik gisteren dus 8 uur mee bezig geweest... zonder resultaat :'(
Wel veel van geleerd, maar de prototyping methode die gebruikt is gaat net iets boven m'n pet... Vandaar de post hier op tweakers, wil wel weten hoe het werkt.. Er zijn idd zat andere menu's te vinden, maar vind deze zelf wel interessant en werkt erg mooi... Ik hoop dus nog het 1 en ander te kunnen leren van iemand...

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 21:42

Pelle

🚴‍♂️

Wij gaan hier natuurlijk niet scripts die jij niet zelf hebt geschreven, aanpassen naar jouw wensen. :)

Hier een klein voorbeeldje van prototyping; als je de search gebruikt zul je een hoop informatie tegenkomen waar je voorlopig wel weer even mee vooruit kunt. Overigens is zowel Javascript als Actionscript gebaseerd op ECMAscript, en prototyping werkt dus nagenoeg hetzelfde.

code:
1
2
3
4
5
6
7
8
9
10
function dier(naam) {
    this.naam = naam;
}

dier.prototype.zegnaam = function() {
    alert(this.naam);
}

koe = new dier("bertha47");
koe.zegnaam();

Verwijderd

Topicstarter
Ik snap wel hoe prototyping werkt, alleen zitten er in het script een aantal nested objects waarvan ik niet snap hoe deze worden opgebouwd/aangesproken... Daarom hoopte ik dat iemand daar wat meer uitleg over kon geven... Het lukt me niet om bijvoorbeeld met javascript een aparte link te maken waarmee ik bijvoorbeeld de eerste node laat uitklappen... dit komt omdat er gebruik gemaakt wordt van mouseEvents... Normaal gesproken lukt dit wel, maar ik krijg het niet voor elkaar om te achterhalen wat er precies aan values aan de toggle en activate functies wordt doorgegeven...

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 21:42

Pelle

🚴‍♂️

Zomaar een suggestie: Is het een idee om de maker te mailen misschien?

Verwijderd

Topicstarter
Had ik al gedaan.. bijna een week geleden, maar nog steeds geen antwoord..

  • André
  • Registratie: Maart 2002
  • Laatst online: 01-09 14:07

André

Analytics dude

Verwijderd schreef op 27 augustus 2002 @ 12:08:
Ik snap wel hoe prototyping werkt, alleen zitten er in het script een aantal nested objects waarvan ik niet snap hoe deze worden opgebouwd/aangesproken... Daarom hoopte ik dat iemand daar wat meer uitleg over kon geven... Het lukt me niet om bijvoorbeeld met javascript een aparte link te maken waarmee ik bijvoorbeeld de eerste node laat uitklappen... dit komt omdat er gebruik gemaakt wordt van mouseEvents... Normaal gesproken lukt dit wel, maar ik krijg het niet voor elkaar om te achterhalen wat er precies aan values aan de toggle en activate functies wordt doorgegeven...
Dat betekent dat je het hele script even moet debuggen. Met de juiste alerts op de goede plekken kom je een heel eind.

En als ergens onclick="OpenNode('5')" staat kun je daar toch wel een link van maken?

Verwijderd

Topicstarter
Was het maar zo'n feest... staat dus nergens zo'n soort command.. Er zit ook geen script onder de links, alles werkt dus met mouseEvents... Check het script anders fff om te zien wat ik bedoel... Ik ben echt geen JS newbie, maar dit is toch wel fff iets anders dan ik gewend ben... Leuk om van te leren.. maar als je vast zit schiet het niet echt op...

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Da's raar, de maker heeft nl. bijna overal commentaar bijgezet! Volgens mij kan je zo uitzoeken welk deel verantwoordelijk is voor het "toggelen" (toggle ;))

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Ik ben daar wel achter gekomen, is verder niet zo moeilijk.. alles is netjes gecomment... Maar ik krijg het niet voor elkaar om binnen die toggle functie een andere functie aan te spreken die de andere nodes reset.. de values die aan de functies doorgegeven worden zijn namelijk objects... als ik dan d.m.v. een alert de value van een variabele probeer te achterhalen dan krijg ik dit te zien: [object]

Is er een manier voor om al deze objects weer te geven? Of om de inhoud/beschrijving van een object te tonen?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Je moet uitzoeken wat die functies voor parameters slikken en dan die functies aanroepen. Je weet vantevoren je ID's, want dat zijn de id's die opgegeven zijn in je html voor elke (hoofd)node. Ik heb me er nog niet in verdiept, maar je moet rustig vanaf de Mouse events kijken wat het script met de variabelen doet.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Ik ben ondertussen nog fff aan het doorzoeken naar goede resources/tutorials.. moet het toch echt onder de knie gaan krijgen... Ik heb al eerder zo'n menu zelf gemaakt, maar dan in flash 5: www.digiboy.nl/site --> is nog lang niet klaar, maar werkt wel leuk.. het menu laadt een externe XML file in.. adhv. die info wordt dan het menu opgebouwd...

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Gebruik je die toch ;)


offtopic:
Ziet er trouwens goed uit!

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Zit er nu wel aan te denken.. maar ik wil weten hoe het werkt.. Ik weet zeker dat het kan.. I don't give up... Ben met dat flash ding ook veel te lang bezig geweest.. maar het resultaat ben ik erg blij mee!!
offtopic:
Ziet er trouwens goed uit!
Thanx! Ik hoop binnenkort weer wat meer vrije tijd te hebben zodat ik 'm kan afmaken... Ik post 'm dan wel fff als site-check ;)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Eeh doe dan maar bij http://www.sitechecks.nl ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1