Anzeige

 visibility:collapse führt im IE zum Fehler


chickenwings

Erfahrenes Mitglied
#1
Hallo,

ich versuche gerade ein Teil einer Tabelle, genauer ein <TR> per Klick zum ausfahren zu bewegen. Leider führt mein Versuch im IE zum Fehler, daß die Visibility-Eigenschaft nicht gefunden wurde und ungültiges Argument:
Meine Tabelle:
Code:
<TABLE border="0">
<TR>
	<TD colspan="2"><a href="javascript:expandOptions()"><img id="down3" src="../images/s_desc.png" border="0"></a>&nbsp;<a href="javascript:expandOptions()" id="options">öffnen</a></TD>
</TR>
<TR id="expandoptions" style="visibility:collapse;">
	<td>
               ....
       </td>
</TR>
</TABLE>
Meine Javascript-Funktion sieht so aus:
Code:
function expandTeaserEditor() {
	
	if (document.getElementById("expandteaser").style.visibility == "visible"){
		document.getElementById("expandteaser").style.height = "1px";
		document.getElementById("expandteaser").style.visibility = "collapse";
		document.getElementById("down2").src = "../images/s_desc.png";
		document.getElementById("teaser").innerHTML = "aufklappen";		
	}else{
		document.getElementById("expandteaser").style.height = "102px";
		document.getElementById("expandteaser").style.visibility = "visible";
		document.getElementById("down2").src = "../images/s_asc.png";
		document.getElementById("teaser").innerHTML = "schliessen";
	}
}
Der Fehler tritt im Else-Zweig auf.
Im Firefox funktionierts prima. Was kann das Problem sein.
Im Übrigen führt selbiges Beispiel bei selfhtml zum selben Fehler.

Jemand eine Idee, wie man das reparieren kann?

Grüsse,
chickenwings
 
#2
Anscheindend kennt der IE diesen Wert für visibility nicht(ich bis heute auch nicht :))

Anstatt die visibility zu manipulieren, versuche es mal über display.
Um auszublenden, weise 'none' als Wert zu, zum Anzeigen eine leere Zeichenkette.
 

deepthroat

Erfahrenes Mitglied
#3
Hi.

Damit es mit allen gängigen Browsern funktioniert:
Javascript:
function ChangeRowVisibility(strVisibility, intRowIndex)
{
if(navigator.product == "Gecko" && navigator.productSub && navigator.productSub > "20041010" && (navigator.userAgent.indexOf("rv:1.8") != -1 || navigator.userAgent.indexOf("rv:1.9") != -1))
/* Mozilla 1.8a1+; see bug 77019 and bug 242368; must be higher than 1.7.x
Mozilla 1.8a2 supports accordingly dynamic collapsing of rows in both border-collapse models
but not Mozilla 1.7.x */
{
document.getElementById("idtable").rows[intRowIndex].style.visibility = strVisibility;
}
else if(strVisibility == "visible")
 {
 if(document.all && document.compatMode && document.compatMode == "CSS1Compat" && !window.opera)
 {
 document.getElementById("idtable").rows[intRowIndex].style.display = "block";
 }
 else if(document.getElementById && document.getElementById("idtable").rows)
 // Mozilla prior to 1.8a2, Opera 7.x and MSIE 5+
 {
 document.getElementById("idtable").rows[intRowIndex].style.display = "table-row";
 };
 }
else if(strVisibility == "collapse")
 {
 document.getElementById("idtable").rows[intRowIndex].style.display = "none";
 };
}
Kopiert von http://www.gtalbot.org/DHTMLSection/DynamicTableFormatting.html

Gruß
 
Anzeige

Neue Beiträge

Anzeige