Jeg kan sgu ikke få det til at virke.
Jeg smider lige hele koden op, så kan man få overblikket.
Jeg ved det er en eller anden dum ting der ødelægger det ;)
test.htm:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="
http://www.w3.org/1999/xhtml"><head>
<script type="text/javascript" src="default.js"></script>
<style type="text/css">
<!--
.box {
width:100px;
}
.boxHead {
font-family: Tahoma, Helvetica;
font-size: 11px;
font-weight: bold;
color: #000000;
background-color:#ece9d8;
padding:3px 6px 3px 6px;
width:100%;
}
.boxContents {
font-family: Tahoma, Helvetica;
font-size: 11px;
color: #000000;
border:1px solid #ece9d8;
background-color:#FFFFFF;
padding:3px 3px 3px 3px;
width:100%;
}
-->
</style>
</head>
<body onload="resizeIFrame();">
<div class="box">
<div class="boxHead">Overskift <img style="cursor:pointer;" onclick="toggleBox(1);" src="images/Aaben_box.gif" alt="Åben/Luk Box" width="18" height="18" name="Icon1"></div>
<div style="display: block;" id="Box1Luk">
<span class="boxContents">kort</span>
</div>
<div style="display: none;" id="Box1Aaben">
<span class="boxContents">lang</span>
</div>
</div>
</body>
</html>
Og default.js:
var boolNS4 = navigator.appVersion.indexOf("Nav") > 0 && parseInt(navigator.appVersion) == 4;
function resizeIFrame() {
objTable = GetElement("tblProgrammer");
objIFrame = GetParentElement("ProgramListning");
if (document.getElementById) {
// IE5+, Mozilla, Gecko
objIFrame.height = objTable.offsetHeight;// + 20;
} else if (!document.getElementById && document.all) {
// IE4
objIFrame.style.height = (objTable.offsetHeight + 20) + "px";
} else if (document.layers) {
// Netscape 4 - egentlig ligemeget da den ikke understøtter IFrames
return false;
} else {
return false;
}
}
function GetElement(strElement)
{
if (document.getElementById)
{
// IE5+, Netscape 6, Mozilla
return (document.getElementById(strElement));
}
else if (document.all)
{
// IE4
return (eval("document.all." + strElement));
}
else if (document.layers)
{
// Netscape 4
return (eval("document." + strElement));
}
else
{
// Crap!
return (null);
}
}
function GetParentElement(strElement)
{
if (document.getElementById)
{
// IE5+, Netscape 6, Mozilla
return (parent.document.getElementById(strElement));
}
else if (document.all)
{
// IE4
return (eval("parent.document.all."+strElement));
}
else if (boolNS4)
{
// Netscape 4
return (eval("document."+strElement));
}
else
{
// Crap!
return (null);
}
}
function toggleBox(strID)
{
if(boolNS4) return false;
objCurrentLuk = GetElement("Box"+strID+"Luk");
objCurrentLuk.style.display = (objCurrentLuk.style.display=="none" ? "block" : "none");
objCurrentAaben = GetElement("Box"+strID+"Aaben");
objCurrentAaben.style.display = (objCurrentAaben.style.display=="none" ? "block" : "none");
objCurrentImg = GetElement("Icon"+strID);
objCurrentImg.src = (objCurrentImg.src == "images/Aaben_box.gif" ? "images/Luk_box.gif" : "images/Aaben_box.gif");
resizeIFrame();
}
Håber at I kan få det til at fungere. Det er meningen at det skal laves dynmisk, derfor er strID med. Den er dog sat til at være statisk (1) for at få det til at fungere 100% crossbrowser først.
- Thomas