[DHTML] Uitklap menu

Pagina: 1
Acties:

  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 07-04 13:54
Om te beginnen, ik ben hier een hele tijd niet meer geweest. Heb wel de policy gelezen en schop er volgens mij niemand tegen de schenen met het posten van dit topic. Als ik dat wel doe, mijn excuus.

Goed, dat heb ik overleefd :)

De reden dat ik dit topic open is om eens lekker te discusieren over DHTML uitklap menu's. Ondanks dat ik er tot nu toe weinig gebruik van heb gemaakt zie ik er wel degelijk nut in.
Het probleem echter bij veel menu's vind ik de grote hoeveelheid overbodige code (overhead), de onhandige mogelijkheden tot positioneren, traagheid, slecht doorzoekbaar, etc.

Nu ben ik zelf eens aan het bouwen gegaan met hetvolgende doel voor ogen:
  • goed doorzoekbaar
  • zo min mogelijk overhead
  • snel
  • moet compatible zijn met de meest gebruikte browsers
  • moet oneindig diep kunnen gaan zonder aanpassing per diepte
  • leesbare code
Ik zal nu bij ieder punt toelichten wat daar het resultaat van is;

Goed doorzoekbaar
Simpelweg DIV's met link's daarin. Geen javascript hierarchie, of 'onclick' events, gewoon keiharde oudhollandse links.

Zo min mogelijk overhead
Tja, wat valt er te vertellen over een menu wat 3x zo klein is als een gemiddeld DHTML menu? 26 regels javascript, eigenlijk maar 5 regels verplichte CSS, de rest puur vrij te besteden aan vormgeving.
Inbouwen is redelijk eenvoudig, eventueel aan de hand van de positie nog een paar kleine aanpassingen doen, that's it.
Ook een voordeel is dat het menu niet geinitieerd hoeft te worden.

Snel
Menu werkt soepel, geen overbodige functies, geen memory leaks, getest op het dubbel aanroepen van functie's, geen vollopende variabelen, simpele en heldere code. In te stellen tijd voor het sluiten van het menu.

Compatability
Ik heb helaas zelf alleen kunnen testen op IE6, FF1 en Opera 8.51 onder Windows. Hier op werkt het menu iig vlekkeloos. Hier valt niet heel veel uit op te maken, maar dit zijn mijn inziens wel de meest gebruikte browsers onder windows. Ik zou het menu graag nog op de Mac testen, maar heb hier helaas geen mogelijkheden toe.
Verder is ook nergens in het menu browser-sniffing toegepast.

Multi-depth
Dit punt is aardig goed gelukt. De structuur valt eventueel in 1 query uit te lezen met oneindige diepte. In praktijk blijkt de grootte van het browser venster de enige beperking.

Leesbaarheid code
4 simpele functies, 2 tracking variabelen, that's about it. Maarja, in amper 1kb aan JS kun je amper verdwaald raken ;-)



Goed, het moge duidelijk zijn dat ik enthousiast ben over m'n eigen menu. Maar goed, ik ben ook maar iemand die met een enthousiast idee is gaan bouwen. Misschien zie ik ook wel dingen over het hoofd.
Uit ervaring weet ik dat als je om een beoordeling vraagt je voornamelijk kritiek krijgt. Ik ben daarom ook benieuwd naar de kritieken. Tips zijn uiteraard ook welkom.

Hieronder zal ik een simpele voorbeeld code plakken van het menu:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<html>
<head>
<style type="text/css">
body {
    font-family: Arial;
}
.menu {
    font-size: 8pt;
}
.menu a {
    color: #FFFFFF;
    text-decoration: none;
}
.menu .main {
    background-color: #FF0000;
    border: 1px solid #000000;
    padding: 2px;
}
.menu .main a {
    padding-right: 20px;
}
.menu .main .active {
    color: #000000;
}
.menu .sub {
    background-color: #FF0000;
    border-left: 1px solid #000000;
    border-right: 1px solid #000000;
    border-bottom: 1px solid #000000;
    display: none;
    position: absolute;
}
.menu .sub a {
    border-top: 1px solid #000000;
    display: block;
    padding: 1px;
    padding-left: 3px;
    width: 100px;
}
.menu .sub .active {
    background-color: #DD0000;
}
</style>
</head>
<script type="text/javascript">
var active = new Array();
var interval = false;
var visible = new Array();
function Over(obj,sub,main){
    Hide(obj.parentNode.depth === undefined ? obj.parentNode.depth = visible.length : obj.parentNode.depth);
    obj.className = "active";
    active.push(obj);
    if (sub){
        visible.push(sub = document.getElementById("sub" + sub));
        sub.style.left = main ? obj.offsetLeft - 3 : parseInt (obj.parentNode.style.left) + obj.offsetWidth + 1;
        sub.style.top = main ? obj.offsetTop + obj.offsetHeight + 2 : parseInt (obj.parentNode.style.top) + obj.offsetTop;
        sub.style.display = "block";
    }
}
function Keep(){
    if (interval){
        clearInterval (interval);
        interval = false;
    }
}
function Close(depth){
    if (visible.length) interval = setTimeout ("Hide(0)",300);
}
function Hide(depth){
    while (active.length > depth) active.pop().className = "";
    while (visible.length > depth) visible.pop().style.display = "none";
}
</script>
<body>
<div class="menu" onmouseover="Keep()" onmouseout="Close()" nowrap>
<div class="main"><a href="Main 1" onmouseover="Over(this,1,true)">Main 1</a><a href="Main 2" onmouseover="Over(this,2,true)">Main 2</a><a href="Main 3" onmouseover="Over(this,3,true)">Main 3</a></div>
<div class="sub" id="sub1"><a href="Sub 1" onmouseover="Over(this)">Sub 1</a><a href="Sub 2" onmouseover="Over(this)">Sub 2</a><a href="Sub 3" onmouseover="Over(this)">Sub 3</a></div>
<div class="sub" id="sub2"><a href="Sub 1" onmouseover="Over(this)">Sub 1</a><a href="Sub 2" onmouseover="Over(this,8)">Sub 2</a><a href="Sub 3" onmouseover="Over(this)">Sub 3</a><a href="Sub 4" onmouseover="Over(this)">Sub 4</a></div>
<div class="sub" id="sub3"><a href="Sub 1" onmouseover="Over(this)">Sub 1</a><a href="Sub 2" onmouseover="Over(this)">Sub 2</a></div>
<div class="sub" id="sub8"><a href="Sub 1" onmouseover="Over(this)">Sub 1</a><a href="Sub 2" onmouseover="Over(this,14)">Sub 2</a></div>
<div class="sub" id="sub14"><a href="Sub 1" onmouseover="Over(this)">Sub 1</a><a href="Sub 2" onmouseover="Over(this,16)">Sub 2</a></div>
<div class="sub" id="sub16"><a href="Sub 1" onmouseover="Over(this)">Sub 1</a><a href="Sub 2" onmouseover="Over(this)">Sub 2</a></div>
</div>
</body>
</html>

Sorry voor het ontbreken van DTD e.d.

Hieronder een simpele code om via 1 query het menu uit een DB te lezen.
De enige truc hierbij is is een tabel gebruiken met een id en een pid (parent id). Het parent id geeft aan onder welk menu het menu moet uitklappen en uiteraard een 0 voor een 'main'-menu.
code:
1
2
3
4
5
6
7
8
9
10
11
<div class="menu" onmouseover="Keep()" onmouseout="Close()" nowrap>
<?
$result = mysql_query ("SELECT id,pid,naam FROM menu");
while ($row = mysql_fetch_assoc ($result)) $items[$row["pid"]][$row["id"]] = $row["naam"];
while (list ($pid,$item) = each ($items)){
    echo "<div class=\"" . ($pid ? "sub\" id=\"sub$pid" : "main") . "\">";
    while (list ($id,$naam) = each ($item)) echo "<a href=\"$naam\" onmouseover=\"Over(this" . (isset ($items[$id]) ? ",$id" : ($pid ? "" : ",false")) . ($pid ? "" : ",true") . ")\">$naam</a>";
    echo "</div>\r\n";
}
?>
</div>

Ik hoop dat hier mensen toevallig nog mee geholpen zijn of dat iemand nog goede tips heeft, of mij eventueel kan vertellen of het menu ook op andere browsers/platformen werkt.

BVD

  • André
  • Registratie: Maart 2002
  • Laatst online: 15-04 09:54

André

Analytics dude

Wel eens wat gelezen over Suckerfish menu's? Die werken alleen met CSS en zijn voor IE alleen een klein stukje extra js nodig. Er wordt een list gebruikt ipv een groep div's en is tot vele levels diep te maken. Verder zou de JS weggelaten kunnen worden door een behaviour aan de CSS toe te voegen (die dan wel weer met JS werkt).

http://www.alistapart.com/articles/dropdowns
http://www.xs4all.nl/~peterned/csshover.html

[ Voor 26% gewijzigd door André op 05-12-2005 11:28 ]


  • samo
  • Registratie: Juni 2003
  • Laatst online: 21-04 10:29

samo

yo/wassup

Misschien ook eens leuk om naar te kijken: Suckerfish.

(maar natuurlijk ben ik weer te laat)

[ Voor 16% gewijzigd door samo op 05-12-2005 11:26 ]

Bekend van cmns.nl | ArneCoomans.nl | Het kindertehuis van mijn pa in Ghana


  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:13

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
css menu's zijn leuk, maar volgens mij een ramp in de wat oudere browsers :) Ik gebruik het menu op 1 site zoals crisp het heeft gedaan op GoT en dat werkt prima :). Redelijk wat JS, dat wel.

Edit: hmm, te vroeg conclusie getrokken. Deze werkt prima in IE5 en 5.5

[ Voor 37% gewijzigd door We Are Borg op 05-12-2005 11:32 ]


  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 07-04 13:54
Ja, Suckerfish ken ik. Ook een tijdje mee ge-expirementeerd. Word alleen lastig met CSS als je hele diepe menu's gebruikt, ook niet bepaald handig als je niet weet hoe diep je menu is.
Nog een nadeel is natuurlijk dat ie niet 'delayed' kan inklappen.

Het idee vond ik wel goed gevonden. Heb bij suckerfish ook nog ge-expirementeerd met behaviors (iets waar ik ook wel een beetje in thuis ben), maar kreeg het helaas niet helemaal lekker werkend, omdat ie per LI opnieuw het .htc bestand begon in te lezen :(

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 25-03 10:55

XangadiX

trepanatie is zóó kinderachtig

Ik vind de code in de HTML er eigenlijk best lelijk uit zien met die onMouseovers en verwijzingingen in de Div; een gewone list is veel eenvoudiger (en netter en beter te doorzoeken) Als ik uitklapmenus gebruik dan baseer ik ze meestal op http://www.mattkruse.com/javascript/mktree/ dat is wel een hele berg javascript, maar het werkt altijd en een deel van het css wordt on-the-fly gemaakt waardoor je html code vele malen netter is

Stoer; Marduq


  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 07-04 13:54
Waar baseer je "werkt altijd" op? Op browsers die geen DOM ondersteunen zal zowel mijn menu als dat menu niet werken.

Verder vind je m'n HTML slordig, tja, euhm, ik vind de JS van 'jouw' menu erg 'goor'. Dus is het dan maar net waar je voorkeur naar uitgaat :*)

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:13

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
die JS kan ik niet verdedigen (niet genoeg verstand van :) ), maar een list zou in jouw geval ook niet misstaan i.p.v. die divjes. Je geeft een lijstje met menu items (links)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-04 10:43

Janoz

Moderator Devschuur®

!litemod

Mwah, het grote verschil is natuurlijk dat je de javascript als een soort lib moet zien. Je schrijft het 1 keer en vervolgens verdwijnt het in een js bestand dat je later include. Dit bestand kun je vervolgens voor al je menu's gebruiken. Juist de content die je vaak aan moet passen blijft nette en overzichtelijke html. Heerlijke scheiding van logica en content wat het onderhoud alleen maar ten goede kan komen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 07-04 13:54
Als het ivm SEO nog voordeel zou hebben zou ik het zeker overwegen. Maar het voordeel van deze manier vind ik dat het compact is, en aangezien het toch uit een DB gelist word maakt het wat mij betreft qua overzicht ook niet veel uit.

Of ben ik nou eigenwijs? :P

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-04 10:43

Janoz

Moderator Devschuur®

!litemod

Ja, dat denk ik wel. Daarnaast heeft het uit SEO overwegingen zeker voordeel aangezien je je menu semantisch juist definieerd. Pas door de toevoeging van het javascript en de stylesheets wordt de volledige uitklap functionaliteit toegevoegd. Vergelijk jouw html eens met het voorbeeld op suckerfish.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • André
  • Registratie: Maart 2002
  • Laatst online: 15-04 09:54

André

Analytics dude

Ansich heb je wel gelijk Janoz, ware het niet dat zoekmachines op dit moment nog niet exact naar de semantische structuur kijken. Dit zit er wel aan te komen in de toekomst. Dus voor SEO zijn beide methodes (nog) gelijk aan elkaar.

Verwijderd

Mijn point of view toevoegen aan de discussie...

Ik ben zelf ooit afgestapt van js die hele menu's renderden. Zoekmachines kunnen er niet doorheen en aanpassingen in mn html waren lastig.

Tegenwoordig maak ik bijna altijd mn menu in unorded lists. Daardoor zijn de linkjes te vinden voor de zoekmachine. Aan de menuitems hang ik bij het laden allerlei functie aan mn onclick, onmouseover en onmouseout handler. Werkt perfect! M'n JS is zo opgezet dat ik allerlei functionaliteiten aan mn mn items kan hangen als faders, mooi dropdowns e.d. De list en een deel van mn js moet nu alleen nog worden gegenereerd aan de hand van de menustructuur die ik XML heb staan.

En het werkt nog snel ook...

Dus ja: wat is mooi... Het gaat erom niet iets minimalistisch op te zetten vind ik, maar meer een goede generieke oplossing die verschillende aspecten van webdesign en SEO niet in de wegstaat. En in mijn oplossing is de overhead minimaal. Alles is zo goed mogelijk OOP neergezet, dus het enigste is dat er wat te veel bytes geladen worden voor methodes die niet gebruikt worden.

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:13

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
je kunt prima met een unorderd list een menu maken (dus search engine toegankelijk) maar met JS de behavior er aanhangen :)

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 25-03 10:55

XangadiX

trepanatie is zóó kinderachtig

$tranger schreef op maandag 05 december 2005 @ 12:40:
Als het ivm SEO nog voordeel zou hebben zou ik het zeker overwegen. Maar het voordeel van deze manier vind ik dat het compact is, en aangezien het toch uit een DB gelist word maakt het wat mij betreft qua overzicht ook niet veel uit.

Of ben ik nou eigenwijs? :P
Ja, dat je code 'compact' is maakt niet zo gek veel uit. Zie ook wat Janoz zegt. Jouw manier is vrij beperkt en clientside houdt je nogal een berg rotzooi over, zie ook wat Janoz zegt, of had ik dat al gezegd, Janoz? :P . Eigenlijk wil je een menu bouwen met alleen geneste lists dat wordt ook al meer hier gezegd. Eerlijk gezegd vind ik het helemaal niet zo spannend om een menu te bouwen met divjes (met dan ook nog onMouseOver functionaliteit) :X . Even kort door de bocht kun je precies hetzelfde maken met een simpele show/hide layer en dat is toch niet hoe je een menu in elkaar wilt zetten.

Stoer; Marduq


  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 07-04 13:54
André schreef op maandag 05 december 2005 @ 12:57:
Ansich heb je wel gelijk Janoz, ware het niet dat zoekmachines op dit moment nog niet exact naar de semantische structuur kijken. Dit zit er wel aan te komen in de toekomst. Dus voor SEO zijn beide methodes (nog) gelijk aan elkaar.
Okay, vanuit SEO opzicht is het verstandig om het menu semantisch te maken met het oog op de toekomst, okay, in zoverre ben ik om! :)
Verwijderd schreef op maandag 05 december 2005 @ 13:22:
Mijn point of view toevoegen aan de discussie...

Ik ben zelf ooit afgestapt van js die hele menu's renderden. Zoekmachines kunnen er niet doorheen en aanpassingen in mn html waren lastig.

Tegenwoordig maak ik bijna altijd mn menu in unorded lists. Daardoor zijn de linkjes te vinden voor de zoekmachine. Aan de menuitems hang ik bij het laden allerlei functie aan mn onclick, onmouseover en onmouseout handler. Werkt perfect! M'n JS is zo opgezet dat ik allerlei functionaliteiten aan mn mn items kan hangen als faders, mooi dropdowns e.d. De list en een deel van mn js moet nu alleen nog worden gegenereerd aan de hand van de menustructuur die ik XML heb staan.

En het werkt nog snel ook...

Dus ja: wat is mooi... Het gaat erom niet iets minimalistisch op te zetten vind ik, maar meer een goede generieke oplossing die verschillende aspecten van webdesign en SEO niet in de wegstaat. En in mijn oplossing is de overhead minimaal. Alles is zo goed mogelijk OOP neergezet, dus het enigste is dat er wat te veel bytes geladen worden voor methodes die niet gebruikt worden.
Wat versta jij onder het menu renderen met JS? Puur hiden en showen lijkt me geen gevaar voor de doorzoekbaarheid. Aanpassen lijkt me in dit geval ook geen probleem omdat ik dit via een CMS wil gaan doen wat dit menu ook gebruikt, werking lijkt me verder geen toelichting nodig te hebben.

Het gebruiken van LI's is ansich ook wel een mooie oplossing, al vind ik wel weer dat je met een omweg bezig bent aangezien je de list-stijl niet wilt laten zien in je menu.

Het leuke van mijn menu verder is ook dat alles aanpasbaar is, of uitbreidbaar is. Faders werken voor zover ik weet alleen nog maar als filters in IE, maar dat is net zo goed in 3 regels toe te voegen aan mijn menu.
We Are Borg schreef op maandag 05 december 2005 @ 14:17:
je kunt prima met een unorderd list een menu maken (dus search engine toegankelijk) maar met JS de behavior er aanhangen :)
SE toegankelijk, mja. Toegankelijkheid, nogmaals lijkt me geen issue, op de semantiek na.

Maar de behavior er aan koppelen is ook al iets wat ik heb geprobeerd, maar goed, dat heb ik al aangegeven, kreeg ik niet netjes werkend, dus laat maar zien! 8)
XangadiX schreef op maandag 05 december 2005 @ 14:47:

[...]

Ja, dat je code 'compact' is maakt niet zo gek veel uit. Zie ook wat Janoz zegt. Jouw manier is vrij beperkt en clientside houdt je nogal een berg rotzooi over, zie ook wat Janoz zegt, of had ik dat al gezegd, Janoz? :P . Eigenlijk wil je een menu bouwen met alleen geneste lists dat wordt ook al meer hier gezegd. Eerlijk gezegd vind ik het helemaal niet zo spannend om een menu te bouwen met divjes (met dan ook nog onMouseOver functionaliteit) :X . Even kort door de bocht kun je precies hetzelfde maken met een simpele show/hide layer en dat is toch niet hoe je een menu in elkaar wilt zetten.
Euhm, aha, rotzooi, maak ik je blij als ik er wat indentatie op toe pas? Eventueel netjes om ieder anchor block een divje zet? Of komen we weer uit op de semantiek die niet in orde is?
Overigens vind ik client-side-soep niet zo heel erg, het gaat er bij mij om dat je browser het snapt, niet of de gebruiker kan zien hoe het menu in elkaar zit. Nee, vind het niet erg dat 't kan, maar het heeft voor mij absoluut geen prioriteit.
Ik ken overigens weinig web-bouwers die dit erg hoog op de prioriteiten lijst hebben staan.

Een spannend menu bouwen was ook zeker niet m'n doel. Wel om een uitstekend werkend menu te bouwen. Jij vind de onMouseOver's slordig? Wat doe ik dan verkeerd wat suckerfish niet doet?
Suckerfish past het ook toe, en dan ook nog eens via een Init functie, okay, dit heeft er natuurlijk net mee te maken wat je voorkeur heeft. Had ik bij mijn menu ook voor kunnen kiezen.

Okay, even concreet. Ik ga proberen het menu semantisch op te bouwen, eigenlijk het enige concrete probleem van dit menu dus.

Tot slot wil ik nog even zeggen dat ik een beetje moe word van het verheerlijken van het Suckerfish menu zolang je nog per depth apparte CSS moet gebruiken en zelfs nog speciaal voor IE code moet schrijven, maar okay, ieder z'n ding 8)7

Verwijderd

$tranger schreef op dinsdag 06 december 2005 @ 10:39:
Wat versta jij onder het menu renderen met JS? Puur hiden en showen lijkt me geen gevaar voor de doorzoekbaarheid. Aanpassen lijkt me in dit geval ook geen probleem omdat ik dit via een CMS wil gaan doen wat dit menu ook gebruikt, werking lijkt me verder geen toelichting nodig te hebben.
Het woord renderen zegt wel genoeg toch...
$tranger schreef op dinsdag 06 december 2005 @ 10:39:
Maar de behavior er aan koppelen is ook al iets wat ik heb geprobeerd, maar goed, dat heb ik al aangegeven, kreeg ik niet netjes werkend, dus laat maar zien! 8)
Gisteren nog op een bestaande site het menu geïnstalleerd: http://www.versluis-acc.nl/ Daar kan je zien dat behaviors met js on-the-fly aan de a-tags worden gehangen. JS is nog niet volledig flexibel uitgewerkt, maar de basis is iig gemaakt.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Ik gebruik de laatste tijd deze als basis, welke ook volledig zonder JS kan werken in standard-compliant browsers door de JS te strippen en het stukje commented CSS te enablen.
Voordeel van JS voor je menu is wel dat je inderdaad dingen als vertraagd sluiten in kan bouwen wat ik zelf wel gebruiksvriendelijk vindt.

Intentionally left blank


  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 25-03 10:55

XangadiX

trepanatie is zóó kinderachtig

Overigens vind ik client-side-soep niet zo heel erg, het gaat er bij mij om dat je browser het snapt, niet of de gebruiker kan zien hoe het menu in elkaar zit. Nee, vind het niet erg dat 't kan, maar het heeft voor mij absoluut geen prioriteit.
Ik ken overigens weinig web-bouwers die dit erg hoog op de prioriteiten lijst hebben staan.
in dit geval heb je de keuze, client soep of server soep. Client soep is je visitekaartje, server soep maakt niemand een donder uit; lijkt me duidelijk dan ;)
Tot slot wil ik nog even zeggen dat ik een beetje moe word van het verheerlijken van het Suckerfish menu zolang je nog per depth apparte CSS moet gebruiken en zelfs nog speciaal voor IE code moet schrijven, maar okay, ieder z'n ding

Stoer; Marduq


  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:13

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
crisp schreef op dinsdag 06 december 2005 @ 12:21:
Ik gebruik de laatste tijd deze als basis, welke ook volledig zonder JS kan werken in standard-compliant browsers door de JS te strippen en het stukje commented CSS te enablen.
Voordeel van JS voor je menu is wel dat je inderdaad dingen als vertraagd sluiten in kan bouwen wat ik zelf wel gebruiksvriendelijk vindt.
Hoe simpel kan het zijn :)

Zat al te bedenken hoe je toch een menu kon maken wat zonder JS zijn werk zou doen. Maar goed, dan gewoon JS strippen en wat css toevoegen zoals je al zegt. Slim :)

Door de > werkt het zonder JS niet in IE

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

We Are Borg schreef op dinsdag 06 december 2005 @ 15:23:
[...]
Door de > werkt het zonder JS niet in IE
Ik zei toch ook "standards-compliant browsers" ;)

Intentionally left blank


  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:13

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Oeps, my bad ;)

Aangezien ik voor mijn stage ook een site ga regelen, denk ik jouw manier te pakken i.c.m. een oplossing voor IE.

code:
1
<noscript><!--[if lte IE 6]> stylesheet voor compleet uitgeklapt menu speciaal voor IE<![endif]--></noscript>
Ziet er toch een beetje ranzig uit, maar goed :)

  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 07-04 13:54
XangadiX schreef op dinsdag 06 december 2005 @ 14:39:

in dit geval heb je de keuze, client soep of server soep. Client soep is je visitekaartje, server soep maakt niemand een donder uit; lijkt me duidelijk dan ;)
Dan filter je toch heel subtiel mijn laatste toevoeging weg om aan te bieden mijn versie ook semantisch en ge-indenteerd aan te bieden ;)

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 14-04 20:11

killercow

eth0

crisp schreef op dinsdag 06 december 2005 @ 12:21:
Ik gebruik de laatste tijd deze als basis, welke ook volledig zonder JS kan werken in standard-compliant browsers door de JS te strippen en het stukje commented CSS te enablen.
Voordeel van JS voor je menu is wel dat je inderdaad dingen als vertraagd sluiten in kan bouwen wat ik zelf wel gebruiksvriendelijk vindt.
Ey, die gebruik ik ook, of iig bijna, ik heb de js er niet bij, want IE kan me aan m'n derriere roesten eigenlijk.

(er komen toch geen IE gebruikers op mijn site die ik zo nodig alle toeters en bellen wil laten zien, maar das een andere discussie)

openkat.nl al gezien?

Pagina: 1