Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » Auszeichnungssprachen » DIV reserviert ungewollt Platz Antworten
DIV reserviert ungewollt Platz

Batuf
Pixelschubser


Beiträge: 16


hi

Ich habe einen kurzen Text (Profil von xyz), und wenn ich dort draufklicke wird mittels Javascript eine versteckte Box (div) angezeigt. Nun, das funktioniert ja alles ganz wunderbar, aber nun reserviert mir diese Box den Platz den sie benötigt schon bevor sie angezeigt wird bzw. auf den "Link" gedrückt wird.

Folge davon ist, dass ich auf dieser Seite einen Scrollbalken habe, obwohl noch keiner notwendig wäre.

Kann mir da jemand weiterhelfen?

Ein Ausschnitt vom Code:

<script type="text/javascript">
<!--
function showWerdegang()
{
if(document.getElementById('wg').style.visibility == 'visible')
{
document.getElementById('wg').style.visibility = 'hidden';
document.getElementById('wg').style.position = 'absolute';
}
else
{
document.getElementById('wg').style.visibility = 'visible';
document.getElementById('wg').style.position = 'fixed';
}
}
//-->
</script>
<div class="linkwg" onClick="showWerdegang();" onMouseOver="this.style.cursor='hand'"><a>Werdegang von XYZ</a></div>
<div id="wg">
....hier folgt der (zu Beginn noch versteckte) Inhalt, der mir eben diesen Platz schon reserviert, bevor er überhaupt angezeigt wird...

Diese Nachricht wurde geändert von: Batuf
  Profil   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Probier es mal mit der CSS-Eigenschaft display und experimentiere dort mit none bzw. block.

---
Weaverslave

  Profil   Website   Editieren   Zitieren

Batuf
Pixelschubser


Beiträge: 16


hi

display block bzw. none im #wg bewirkt leider nichts bzw. bei none verschwindet zwar der Scrollbalken, aber der Inhalt ist nicht mehr aufrufbar.

So sieht der Teil im CSS aus:
#wg
{
visibility:hidden;
position:absolute;
height:0%;
overflow:auto;
/*display:block;*/
}

  Profil   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Du mußt das display per JS umstellen nicht visibility und nicht position.

---
Weaverslave

  Profil   Website   Editieren   Zitieren

Batuf
Pixelschubser


Beiträge: 16


Visibility und position ganz aus dem JS entfernen und nur noch mit display arbeiten?

Ok, habe es jetzt mal so probiert:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14:
<!--
        function showWerdegang()
        {
          if(document.getElementById('wg').style.visibility == 'visible')
          {
            document.getElementById('wg').style.display = 'block';           
          }
          else 
          {            
            document.getElementById('wg').style.display = 'none';                      
          }
        }
      //-->


Jetzt habe ich nur noch das Problem, dass der Inhalt schon von Beginn an angezeigt wird. Ein Click auf den "Link" und er verschwindet wieder mitsamt dem Scrollbalken. Ich kann den Inhalt aber nicht per Click anzeigen lassen.

Diese Nachricht wurde geändert von: Batuf
  Profil   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Du prüfst auf visiblity - nicht auf display, und du kannst den erstwert für display, wie bei jeder anderen CSS-Eigenschaft natürlich im CSS setzen.

---
Weaverslave

  Profil   Website   Editieren   Zitieren

Batuf
Pixelschubser


Beiträge: 16


Vielen Dank für deinen Hinweis, habs jetzt hingekriegt

Hatte ein bisschen ein durcheinander mit none und block...

edit:
"lustig" jetzt legt sich die Navigation über den Scrollbalken. Die Navigation ist horizontal und befindet sich am Seitenende. Das ist jedoch nur im IE (wieder mal typisch...) der Fall. Woran könnte denn das nun wieder liegen?

Diese Nachricht wurde geändert von: Batuf
  Profil   Editieren   Zitieren
 

Antworten
Nach oben