Toon posts:

[js] suckerfish dropdowns bij onclick?

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo,
ik heb het suckerfish dropdowns script een beetje veranderd.
het is de bedoeling dat het stuk menu opent bij onclick, en weer sluit bij onmouseout.
leek me best makkelijk dus ik heb ff snel wat dingen veranderd:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript">
  window.onload = function() {
    navRoot = document.getElementById("nav");
    for (i=0; i<navRoot.childNodes.length; i++) {
      node = navRoot.childNodes[i];
      if (node.nodeName=="LI" && node.className=="plus") {
        node.onclick=function() {
          this.className = "min";
        }
        node.onmouseout = function() {
          this.className = "plus";
        }
      }
    }
  }
</script>
het probleem:
  • het werkt niet in Opera, na ctrl + F5 toch wel :*)
  • onmouseout werkt verkeert, die werkt alleen op de li waar je op klikt en doet netalsof er geen ul instaat.
wat moet ik veranderen om dit wel te laten werken? :?

dexus

[ Voor 8% gewijzigd door Verwijderd op 05-12-2004 23:56 . Reden: bij nader inzien werkt het wel in Opera. ]


  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

Heb je misschien ook een online testcase?

Verwijderd

Topicstarter
voorbeeld

[ Voor 4% gewijzigd door Verwijderd op 13-12-2004 15:49 ]


  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
ik denk dat het eigenlijk best logisch is, want je gaat van die li af als ik het zo bekijk, maar hoe dan op te lossen weet ik niet.

Verwijderd

vind het eigenlijk al raar dat het uberhaupt werkt, want in xhtml dom is case sensitive, dus zou de nodename "li" (lowercase) moeten zijn, dus die if altijd false.

Ik heb niet getest of dat de oorzaak van je probleem is though

edit: ownee, het is geen xhtml, je doet maar alsof :D
mooi voorbeeld van serveren als text/html levert html, wat je ook in je doctype zet.

dus dat if statement werkt wel zo. Toch niet helemaal netjes als je het mij vraagt.

Nog steeds geen oplossing overigens, magoe
m'n eerste gedachte was eventbubbling, maar die staat standaard toch gewoon aan?

[ Voor 46% gewijzigd door Verwijderd op 06-12-2004 15:46 ]


Verwijderd

Topicstarter
@semicon: Eigenlijk niet logisch, je gaat namelijk helemaal niet van de li af,
de ul die "erbij" komt staat in de li dus je staat met je muis nogsteeds op de li.
en als je onclick in onmouseover verandert werkt het wel... :?
@mophor: had er idd ff snel een doctype bovengezet als voorbeeld.
nog waziger is dat als ik de LI in kleine letters zet dat het dan helemaal niet meer werkt.

Ik begin dit script steeds waziger te vinden, maar nogsteeds geen oplossing...iemand nog iets gevonden?

[ Voor 9% gewijzigd door Verwijderd op 06-12-2004 17:11 ]


Verwijderd

nee, niet vaag, de HTML DOM retourneert de nodenames in uppercase, en je hebt dus een html document.

Verwijderd

is maar een ideetje hé, wat als je onclick verandert door onmousedown...?

zelf niet de mog. om hier en nu te testen wat dat doet.

k dacht namelijk dat onclick deprecated was...

  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
misschien een vlinke kick, maar ik wou nog wel de oplossing weten, misschien de TS OOK?

O-)

Verwijderd

Topicstarter
ja ik wil het ook idd graag weten,
onmousedown werkte namelijk ook niet. :(
Pagina: 1