Problem beim ausblenden von Elementen (Moz)
Ole
- javascript
hi
schon hundertmal gemacht, nur heute funktioniert es nicht :(
ich blende spans auf einer seite ein und aus (bzw. habe es vor):
span:
<span id="b1234style="display: none;">blabla</span>
link:
<a href="#" onclick="oeffnen('1234'); return false;">
oder auch:
<a href="#" onclick='oeffnen("1234"); return false;'>
script:
function oeffnen(blabla)
{
if (document.getElementById("b"+blabla).style.display == "inline")
{
document.getElementById("b"+blabla).style.display = "none";
}
else
{
document.getElementById("b"+blabla).style.display = "inline";
}
}
// (wahlweise auch mit "block")
beim IE funktioniert es ohne probleme (was im prinzip ja schon ein schlechtes zeichen ist ;)) des moz 1.4 macht ganz seltsame dinge.
er zeigt das <span> zwar an bzw. blendet es ein, weigert sich aber es wieder auszublenden (habe statt des <span> auch schon <div> oder <p> probiert, mit dem gleichen ergebniss).
Dazu kommt, das er nach dem einblenden erst wieder auf den zweiten Klick auf den Link reagiert (ich habe zum testen eine zusätzliche zeile in die function eingefügt, die bilder tauscht, daran hab ich es gesehen).
ich war mir ziemlich sicher das das funktionieren müßte, hab mich aber wohl getäuscht :( ...wo liegt denn mein fehler? was hab ich übersehen? oder vergessen? oder nicht beachtet?
kleine Anmerkung: das ganze muß nur auf IE6, Moz >=1 und Netscape >=7 laufen.
dank euch
ole
(8-)>
Hi,
span:
<span id="b1234style="display: none;">blabla</span>
Zitat aus dem HTML-Standard:
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
Ein = kann ich in der Auflistung nicht entdecken,
also ist die von Dir vergebene id
b1234style=
ungültig.
Die beiden anderen Attribute, die Du dem span verpaßt hast:
display:
none;"
existieren nicht in HTML.
cu,
Andreas
hi
span:
<span id="b1234style="display: none;">blabla</span>Zitat aus dem HTML-Standard:
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").Ein = kann ich in der Auflistung nicht entdecken,
also ist die von Dir vergebene id
b1234style=
ungültig.Die beiden anderen Attribute, die Du dem span verpaßt hast:
display:
none;"existieren nicht in HTML.
sehe grade, ist ein gewaltiger tipfehler von mir, allerdings nur hier im forum *schäm*
in der source steht natürlich:
<span id="b1234" style="display: none;">
(kontrollier...ja so stimmts)
so long
ole
(8-)>
Hi,
<span id="b1234" style="display: none;">blabla</span>
link:
<a href="#" onclick="oeffnen('1234'); return false;">
oder auch:
<a href="#" onclick='oeffnen("1234"); return false;'>script:
function oeffnen(blabla)
{
alert(blabla);
alert("b"+blabla);
alert(document.getElementById);
alert(document.getElementById("b"+blabla));
alert(document.getElementById("b"+blabla).style.display);
// (wahlweise auch mit "block")
Warum aus dem inline einen Block machen?
Dann doch eher gleich ein div nehmen...
cu,
Andreas
hi
Die alerts bringen mir im MOZ:
1234
b1234
function getElementById() {[native code]}
[object HTMLSpanElement]
none bzw. inline
und im IE6:
1234
b1234
function getElementById() {[native code]}
[object]
none bzw. inline
// (wahlweise auch mit "block")
Warum aus dem inline einen Block machen?
Dann doch eher gleich ein div nehmen...
hab ich doch, ich habe außer <span> auch <div> und <p> ausprobiert, welche ja block elemente sind :)
so long
ole
(8-)>