[JS en HTML] Problemen met verwijderen van layers menu

Pagina: 1
Acties:
  • 42 views sinds 30-01-2008

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
Hallo,
Ik ben al een tijdje bezig met het op orde krijgen van mijn menu, maar helaas is het me nog niet gelukt.

Ik heb een slide down menu gemaakt met verschillende kleuren. Dit heb ik voor elkaar gekregen door verschillende div's te laden. Nu is dat allemaal wel mooi gelukt alleen wanneer een balkje is uitgeklapt en ik met mijn muis over het volgende menu kopje ga, dan komt daaruit mooi het desbetreffende menu, maarrrrrr dan klapt het menu van het eerste menu kopje niet meer in :/
Wanneer ik uit de layer verdwijn met mijn muis, dan klapt de balk netjes in.. ook wanneer ik klik op het hoofdmenu kopje, klapt hij netjes in. Het probleem is dus alleen wanneer ik met mijn muis over de verschillende menukoppen heen ga, zonder van de menubalk te verdwijnen met mijn muis.

Ik denk dat het komt doordat alle div's tegelijk worden geladen en dat hij daarmee in de knoop komt.... ik kan ze in ieder geval niet apart laden (voor zover ik het getest) want dan werkt alleen diegene die direct is geladen. (Hij laat alle div's direct bij het laden van de pagina)

Ik heb al wat geprobeerd, door op verschillende plekken koppelingen naar functies te maken... zo ook in de link bij onMouseout en bij de functie dropdownmenu() heb ik geprobeerd de functie delayhidemenu() aan te roepen, maar dan verdwijnt het uitgeklapte menu direct weer (zoals naar verwachting) .

Ik hoop dat het een beetje duidelijk is en dat jullie me hiermee kunnen helpen.
Mocht er iets niet duidelijk zijn dan hoor ik het graag.
Alvast hartelijke dank!

Het menu wordt aangeroepen dmv van:::
HTML:
1
<a href="#" onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, menu1, '1', '160px')" onMouseout="delayhidemenu()">bureau</a>

en de code is:::
(Ik heb weggelaten wat voor zover ik weet niet relevant is voor het oplossen van mijn probleem. Het kan zijn dat er misschien nog een aantal zaken weggelaten konden worden, maar ik zou eigenlijk niet weten wat dat dan zou kunnen zijn, mijn excuses ervoor dan. Ik heb gezegt dat het java is ipv js, want hierbij krijg je de mooie kleurtjes ;) )
Java:
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
if (ie4||ns6){ 
document.write('<div id="dropmenudiv1" style="visibility:hidden;width:'+menuwidth+';" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>') 
//enz..
}

function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("")
}

function dropdownmenu(obj, e, menucontents, menustyle, menuwidth){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()

if (menustyle == 1) {
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv1") : dropmenudiv1
}
//enz..

populatemenu(menucontents)

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
}

return clickreturnvalue()
}

function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",250)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu

Proud member of the Cosmic Cows


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Dit is echt een van de laatste keren, ga nou gewoon verder in je oude topic :/

[rml][ JS en HTML] layers verdwijnen niet altijd bij onMouseout[/rml]

Je mag je topic gerust na 24 uur na de laatste reply kicken hoor.

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.


Dit topic is gesloten.