Archief - JS: Sliding navigatie

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

`SeriOUs

Legacy Member
Na 2/3 dagen krijg ik het nog stééds niet aan de praat, en sta op de rand totale instorting. :sop:

Wat ik wou verkrijgen: een zelfgeschreven sliding-menu waar
- behaviour & content VOLLEDIG gescheiden zijn
- men met zo weinig mogelijk 'nutteloze' id's moet werken
- waarbij, indien men extra menu-opties toevoegd, niets moet gaan veranderen in de javascript.

Na uuuuren prullen heb ik dit: http://www.pepop.be/test/rotmenu.htm
Maar zoals je ziet, werkt het nog steeds niet. Als men over het submenu gaat, vliegt alles terug naar de originele positie.

Is er iemand die dit kan oplossen, of veel betere wegen ziet om dit script te schrijven,... eigenlijk ALLE hulp is welkom.

U krijgt eeuwige roem, en u mag mij eens goed vernederen!

walvis

Legacy Member
mjah persoonlijke mening he.
het gebruik van sliding menus geeft vaak problemen. (niet internet explorere browsers geven het vaak fout weer, java script moet toegestaan zijn bij de gebruiker, enz...)
dus moet je voor jezelf bepalen of die sliding menus echt wel handig zijn.
er bestaan andere manieren om dit op te lossen qua navigatie.


zou ook interesant zijn moest er comentaar in u script staan

DarkBone

Legacy Member
walvis zei:
zou ook interesant zijn moest er comentaar in u script staan

Het is allemaal pretty straightforward toch wat er staat... tenminste als je al wat code kan lezen, anders moet ge hier nie naar beginnen kijken, want echt moeilijke code is het niet.

Simpel overlopen van alle LI's, een onmouseover en onmouseout event toevoegen, waarin de ul wordt uitgeschoven of verborgen.

`SeriOUs

Legacy Member
oja, ook nog even een subvraagje: om iets crossbrowser te krijgen gebruikt men vaak volgende structuur:

var tg = (e.target) ? e.target : e.srcElement

Dus eerst iets tss haakjes, iets achter '?' en dan iets achter ':'
Kan iemand mij toelichten welk teken nu wat doet/verbergt? (wat .target en .srcElement doet weet ik uiteraard)

mvg

xml

Legacy Member
dit is gewoon een verkorte if else structuur. Vind je in java en php (en wss nog vele andere) ook terug.

(conditie) ? als-waar : als-onwaar

*edit: dus, in dit geval:

if (e.target) { tg = e.target } else { tg = a.srcElement }

`SeriOUs

Legacy Member
xml zei:
dit is gewoon een verkorte if else structuur. Vind je in java en php (en wss nog vele andere) ook terug.

(conditie) ? als-waar : als-onwaar

*edit: dus, in dit geval:

if (e.target) { tg = e.target } else { tg = a.srcElement }
:) zo simpel.
wel vreemd dat ik dit nog nooit eerder ben tegengekomen.
merci!

Azaron

Legacy Member
kijk eens in bestaande scriptjes hoe ze het daar aanpakken he

steeds het wiel opnieuw willen uitvinden kan wel eens tot frustraties leiden

Obliv`

Legacy Member
juist ook nog zoiets geschreve en khad het zelfde probleem
bij mij kwam da doordat ik in een onmouseout="javascript: hide():" verkeerd had gezet (op de hoofdlink)

groetjes

`SeriOUs

Legacy Member
Azaron zei:
kijk eens in bestaande scriptjes hoe ze het daar aanpakken he

steeds het wiel opnieuw willen uitvinden kan wel eens tot frustraties leiden
Bij enorm veel van die scriptjes is de javascript nog altijd verwoven in de html, moet je bij elke aanpassing in het menu ook weer aanpassingen gaan treffen in de javascript, pakken het té moeilijk voor wat ik maar nodig heb,...
Geloof me, ik heb genoeg onderzoek gedaan. :D
Na zoveel tijd daarin te steken zou ik het erg vinden als het nu niet werkt, ook al is het niet hét script.

DarkBone

Legacy Member
Volgens mij heeft het te maken met het feit dat bij het opschuiven van uw diepste UL de bovenliggend LI niet mee uitbreid (omwille van absolute positionering). Bijgevolg werkt de onmouseover niet als je uit de LI beweegt (en waar de diepste UL dus naartoe beweegt), ookal omdat je de UL dan weer expliciet links zet.

Kort: bij het opzchuiven van de UL wordt de bovenliggende LI niet breder en werkt de mouseover dus niet wanneer je over de UL beweegt, want die is nu buiten het LI vak komen te liggen.

Was 't wa duidelijk? :p

`SeriOUs

Legacy Member
Snap het. En word er altijd maar depressiever van! :D

EDIT: mmmh, zit alweer een stapje verder :)
EDIT2: AAAH, fucking got it! :D :applause: zal het posten als ik gedaan heb met mijn vreugdedans!

joyraider

Legacy Member
`SeriOUs zei:
:) zo simpel.
wel vreemd dat ik dit nog nooit eerder ben tegengekomen.
merci!

wordt in php soms ook gebruikt :)

javascript is voor mij echter nog redelijk chinees, ken alleen de basis...

`SeriOUs

Legacy Member
DarkBone zei:
Ik ben wel benieuwd naar wat nu de correcte oplossing is/was :D
Eigenlijk een beetje gecheat. Omdat ik sowieso geen onmouseout op mijn LI kon gebruiken (door de door u aangehaalde reden) heb ik ervoor gezorgd dat, indien de muis over de omliggende/onderliggende stukken kwam (content-gedeelte) alle UL's terug schuiven.
Om er te voor zorgen dat er telkens maar 1 kadertje tevoorschijn kwam, heb ik bij elke mouseover op de LI ervoor gezorgd dat eerst alle UL's zouden sluiten, voordat de gekozen uit zou schuiven.

Duidelijk? :D
Je krijgt hem te zien als de gehele lay-out af is.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan