visibility

  • #1
L

lamerc0w

Bekanntes Mitglied
Themenersteller
Dabei seit
06.10.2002
Beiträge
123
Reaktionspunkte
0
Morgen,

Code:
function showMenu() {
var stat = document.all.menu.style.visibility;
if (stat = hidden) {
document.all.menu.style.visibility=visible;
}
else {
document.all.menu.style.visibility=hidden;
}
}

... Kann mir jemand sagen, warum ich bei einem zweiten Klick auf den Link mit dem Verweis javascript:showMenu() nicht das gewünschte Ergebnis bekomme, - nämlich, dass sich der div-Tag mit der id menu wieder auf visibility:hidden; schaltet? :[

Danke für Antworten im Vorraus.

greetz rabies
 
  • #2
Ja, kann ich dir schon sagen ...

weil die IF-Abfrage falsch ist ... ;)

muss heissen

if (stat [red]==[/red] hidden)

also Doppel-Gleich. Beim einfachen Gleich wird nur geschaut, ob der Variablen->Stat' ein hidden zugewiesen werden kann, und gibt daher immer ein Wahr zurück. Drum wird auch immer auf visible gesetzt.
 
  • #3
So einfach hätt ich mir das Problem dann auch nicht vorgestellt +gg+

Danke =)
 
  • #4
Hi

Geht sogar noch etwas einfacher:
Code:
function showMenu() {
    var stat = document.all.menu.style.visibility;
    stat = stat == hidden ? visible : hidden;
}

Gruß, Michael
 
  • #5
Code:
function showMenu() {
    var stat = document.all.menu.style.visibility;
    stat = stat == hidden ? visible : hidden;
}
function showMenu() {
var stat = document.all.menu.style.visibility;
[red]document.all.menu.style.visibility[/red] = [red]([/red]stat == hidden[red])[/red] ? visible : hidden;
}
 
  • #6
Hi

Habs zwar nicht geprüft, aber warum sollte es so nicht gehen?

Gruß, Michael
 
  • #7
Weil mit deinem Script nur der Variablen stat ein neuer Wert zugewiesen wird, nicht aber dem document.all.menu.style.
stat ist nämlich keine Referenz für document.all.menu.style, sondern eine schlichte Variable.
 
  • #8
Hi

Ok stimmt habs gerade getestet, war bisher davon ausgegangen, dass Objekte in Javascript immer als Referenzen behandelt werden.

Gruß, Michael
 
Thema:

visibility

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben