Avatar billede fhansen Praktikant
24. februar 2007 - 20:39 Der er 1 kommentar og
1 løsning

opacity, layer, og javascript

Jeg kan ikke få nedenstående side til at fungere som jeg gerne vil, siden bliver, som en del andre læst ind i en iframe 'Contents', iframen skal så ændre height, således at den passer til den indlæste side, til dette bruger jeg så scriptet
<script type="text/javascript">
window.onload = function(){
var t=document.body.scrollHeight;
alert(t);
if(parent!=window)parent.document.getElementById('Contents').style.height=t+22+'px';
}
</script>

Dette fungere i sig selv godt nok, men problemmet opstår sammen med de 2 <div layer, jeg anvender for at få en transparent baggrund uden at en tekst og lign. bliver transparent.
javascriptet, de 2 layer og style fungere ikke sammen, document.body.scrollHeight returnere 0.

Jeg vil lige sige at jeg har fået en del hjælp af roenving til scriptet, men har først nu fundet ud af hvor fejlen ligger.

Hver for sig funger disse ting.


<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>

<script type="text/javascript">
window.onload = function(){
var t=document.body.scrollHeight;
alert(t);
if(parent!=window)parent.document.getElementById('Contents').style.height=t+22+'px';
}
</script>

<style type="text/css">
<!--
#Layer2 {
    position:absolute;
    left:0px;
    top:0px;
    width:700px;
    height:420px;
    z-index:2;
}
#Layer3 {
    position:absolute;
    left:0px;
    top:0px;
    width:700px;
    height:420px;
    z-index:2;
}
.style5 {
    color: #333333;
    font-size: 14px;
    font-family: Tahoma;
}
.style6 {font-size: 16}
-->
</style>
</head>

<body>
<div id="Layer2"  style=" background-color:#FFFFCC;  filter:alpha(opacity=70);-moz-opacity:.7;opacity:.7;"></div>
<div id="Layer3"  align="center" )>
  <table width="700"  height="500" align="center" border="0" cellspacing="1">
    <tr>
    <td  height="10" colspan="5"></td>
    </tr>
    <tr>
      <td width="20"></td>
      <td width="161" valign="middle" height="155"><input type="image"  height="150"  width="150"name="imageField" src="../Images/Stop.gif" /></td>
      <td width="20"></td>
      <td align="left"  valign="middle"><p class="style6">Du skal være logget ind for at se denne side.<br />
Denne side er forbeholdt havnens medlemmer. <br />Siderne indeholder muligheder for at se havnens medlemmer, deltage i en debat, bestille søsætning eller optagning, se referater og lign,
        </p></td>
      <td width="161"></td>
    </tr>
    <tr>
    <td  height="50" colspan="5"></td>
    </tr>
    <tr>
  </table>
</div>
</body>
</html>
Avatar billede fhansen Praktikant
24. februar 2007 - 21:06 #1
Fandt da selv lige fejlen, height skulle bare fjernes fra style, fik i samme omgang lavet det sådan at height i layer2 bliver sat efter layer3.

tusind tak til roenving der fik mig på rette spor.

<script type="text/javascript">
window.onload = function(){
var t=document.getElementById('Layer3').scrollHeight;
alert(t);
document.getElementById('Layer2').style.height=t+'px';
if(parent!=window)parent.document.getElementById('Contents').style.height=t+22+'px';
}
</script>

<style type="text/css">
<!--
#Layer2 {
    position:absolute;
    left:0px;
    top:0px;
    width:700px;
    z-index:2;
}
#Layer3 {
    position:absolute;
    left:0px;
    top:0px;
   
    z-index:2;
}
Avatar billede fhansen Praktikant
10. april 2007 - 01:23 #2
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester