Hallo blowmax
Sitze nur schon etwas lange an diesem Skript und um ehrlich zu sein denke ich nur mehr JS! Daher habe ich angenommen ...
geh ins bett, morgen findest du den fehler nahezu sofort
ab einen bestimmten level ist man nicht mehr in der Lage wirklich solide zu arbeiten
meiner Meinung nach hast du dieses Level erreicht. Wahrscheinlich wirst du sogar von deinem Problem träumen (und verzweifelt den Speichern-Knopf suchen).
Insgesamt, nach einiger Programmiererfahrung kann ich dir wirklich nur raten, mache eine Pause. An dem alten Sprichwort: "Der Morgen ist klüger als der Abend" ist sehr viel dran. Mittlerweile höre ich tatsächlich immer auf, wenn ich kein Land mehr sehe. Ich weiß, dass ich Fehler leichter sehe, wenn ich Abstand gewonnen habe.
Aber nun zum wesentlichen Teil:
Antjes Vorschlag ist zwar gut (hab ihn schon vor ? Stunden ausprobiert), aber funktioniert nicht. Vielleicht habe ich auch einfach nicht mehr den Durchblick!
definitiv
setTimeout(item.style.visibility = 'visible', 200);
erzeugt die Fehlermeldung :
'visible' ist undefiniert
Dies wäre eigentlich auch logisch, ABER der Layer wird (kurz aber doch visible gesetzt!?)
ist in diesem Zusammenhang egal, woher soll das deine Methode wissen. Ich schätze, du wechselst die visibility relativ häufig. Wahrscheinlich überschreibt ein Eintrag den anderen. Genauso gut kann es sich um die Überlagerung von Events handeln.
Ich selbst scheue solche Konstrukte wie der Teufel das Weihwasser.
Im Grunde genommen habe ich bei dieser Anweisung zwei Probleme:
- Wie übergebe ich setTimeout die Funktionsvariable?
= > function change (item) {...}
indem du über eine Schleife bis auf das Fenster zurück gehst
z.b.
var meinObjekt=item
while (meinObjekt.parentElement!=window)
meinObjekt=meinObjekt.parentElement.meinObjekt
wobei dieses Beispiel wirklich nur das Prinzip verdeutlicht. Wie man das Elternelement referenziert bzw. die jeweiligen Unterobjekte ist ja eh von Browser zu Browser verschieden
Am besten ist, du übergibst den Elementnamen (id) an die Funktion und baust es entsprechend auf.
- Wie ist es möglich innerhalb dieses setTimeout's die Layereigenschaft "Visibility" zu ändern?
hast du das Objekt kannst du auch die Eigenschaft visibility setzen
dein Objekt sollte grundsätzlich so aufgebau sein:
window.document.eltern.objekt.style.visibility
wobei eltern.objekt durchaus auch mehrere Ebenen enthalten kann
Viele Grüße
Antje