mmofacts.com

Problem mit div-container und deren ausblendung

gepostet vor 16 Jahre, 9 Monate von Grewo
hallo leute,
ich hab ein problem mit den div elementen.
bin nicht so gut im erklären, gebe aber mein bestes.
folgendes habe ich vor:
- gewisse div elemente sollen ausgeblendet/geschlossen werden ( so wie normale fenster )
das problem dabei liegt beim FF der das nicht macht, der IE allerdings schon.
hier erstmal was ich genau gemacht habe:
- div wird per getelementbyid abgegriffen
- danach habe ich mit ... versucht es auszublenden, hilft alles nix ( ... = display:block/none, visibility:visible/hidden, innerHTML = '', ... )
was genau funktioniert dabei nun nicht:
der inhalt des elements wird nicht mehr angezeigt, soweit richtig.
allerdings kann ich die buttons die hinter dem div element nicht mehr anwählen, da wenn man nachdem das element ausgeblendet wurde, rechtsklickt. das element sichtlich noch existiert, lediglich der inhalt wurde gelöscht.
ich habe testweise das element nach innerHTML = '' verschoben und mit farbe hinterlegt. meiner beobachtung nach scheint an der verschobenen position ein neues element zu sein. position und alles ist richtig, allerdings existiert das element an der alten position auch noch... HILFE!!!
damit ihr euch ein genaues bild machen könnt:
Login
login: lord / test
server: speed
klickt dort das große NONE in der mitte an, danach wieder mit dem kreuz oben links schliessen und rechtsklicken....
gepostet vor 16 Jahre, 9 Monate von MrMaxx
Dein Problem ist das DIV-Element, das du ausblenden möchtest, denn dieses bleibt dir immernoch erhalten. Du löscht nur dessen Inhalt (action.js Zeile 96).
Versuch doch mal eine Lösung, in der du über style.display das Element ausblendest. Am besten über den entsprechenden Wrapper eines Frameworks deiner Wahl.
Bis denne...
Maxx
P.S.: Insgesamt doch eher ein Thread für die Lobby...
gepostet vor 16 Jahre, 8 Monate von Drezil
jop. künnen wir das in die lobby verschieben? hat hier nicht viel zu sucher, da es doch eher unter "basics" fällt.
und zu dem thema: schau dir mal frameworks wie prototypejs.org + script.aculo.us oder mootols an. die haben solche nettigkeiten frei haus inklusive nettem ein/ausblend-effekt und cross-browser-kompatiblität.
bei prototype macht man dann nur noch ein $('meindiv').toggle(); (GLAUB ich) und es wird aus oder eingeblended, jenachdem, was es grad ist.
gepostet vor 16 Jahre, 8 Monate von Grewo
danke drezil werd mir das mal angucken.
und sorry, hab die lobby übersehen
hatte es vorher bevor ich den post hier gemacht habe mit display versucht und ging auch nicht. muss ich wohl was falsch getippt haben, geht jez nämlich...
gepostet vor 16 Jahre, 8 Monate von knalli
Original von Drezil
jop. künnen wir das in die lobby verschieben? hat hier nicht viel zu sucher, da es doch eher unter "basics" fällt.
und zu dem thema: schau dir mal frameworks wie prototypejs.org + script.aculo.us oder mootols an. die haben solche nettigkeiten frei haus inklusive nettem ein/ausblend-effekt und cross-browser-kompatiblität.
bei prototype macht man dann nur noch ein $('meindiv').toggle(); (GLAUB ich) und es wird aus oder eingeblended, jenachdem, was es grad ist.

Jau, prototype oder jQuery würde ich hier auch empfehlen. Ich würde mich nicht mehr mit den Kleinigkeiten der Browserabhängigkeiten rumschlagen wollen und würde auf einfaches - hier sogar wirklich Einzeiler - zurückgreifen.
Anderes nettes Beispiel: $('.meinDiv').slideUp(); slidet das Div nach oben raus.
Nein, es slidet sogar alles Divs mit der Klasse raus.. noch besser
gepostet vor 16 Jahre, 8 Monate von Kapsonfire
document.getelementbyid[divid].style.display="none" zum ausblenden
document.getelementbyid[divid].style.display="block" zum einblenden
falls das nit geht einmal bescheid sagen dann schau ich mal nach aber ich glaube das ist so richtig
gepostet vor 16 Jahre, 8 Monate von Fornax
Original von Grewo
hier erstmal was ich genau gemacht habe:
- div wird per getelementbyid abgegriffen
- danach habe ich mit ... versucht es auszublenden, hilft alles nix ( ... = display:block/none, visibility:visible/hidden, innerHTML = '', ... )

gleich im erstem Post...
gepostet vor 16 Jahre, 8 Monate von Kapsonfire
dann hat er was falsch gemacht^^
vll sollte er beim ausblenden mal den z-index nach unten packendaurch sollte es wieder anklickbar sein
und mit innerHTML würde ich den inhalt des divs nicht löschen sondern mit display none/block machen
gepostet vor 16 Jahre, 8 Monate von Valerion
Also bei mir geht's
(Browser: FF)
gepostet vor 16 Jahre, 8 Monate von Grewo
hab das problem gefunden, es lag nicht direkt an dem aus/einblenden, sondern dadurch das das div object per httprequest nochmal erstellt wurde, wurde das alte somit igonieriert...
gepostet vor 16 Jahre, 8 Monate von Kaiser Nero
Ich würde auch die Groß/Kleinschreibung beachten:
document.getElementById('divid').style.display = 'block'; bzw 'none'

einige Browser mögen es nicht wenn man getelementbyid schreibt.
mfg
gepostet vor 16 Jahre, 8 Monate von Klaus
stimmt, JavaScript ist eigentlich case-sensitive!

Auf diese Diskussion antworten