dynamische Laufzeit-Positionierung von div-Boxen
Galerie-Bastler
- javascript
Hallo zusammen,
hier soll eine Foto-Galerie aufgebaut werden.
Beim Klicken auf die Fotos soll an best. Stellen über der Galerie eine Box mit der vergrößerten Ansicht aufgehen.
Mein bisherigen Ansatz dazu:
CSS:
...................................................................
#boxHorizontal
{
position: absolute;
height: 320px;
width: 420px;
left: 200px;
top: 20px;
z-index:3000;
padding:20px;
border-width:1px;
border-color:#ddd;
border-style:solid;
background-color:#ffffff;
border-width:1px;
border-style:solid;
border-color:#aaa;
visibility:hidden;
}
...................................................................
JavaScript:
...................................................................
function openBox(grafik, ausrichtung, andereAusrichtung, links)
{
var boxkennung;
var andereBoxkennung;
var boxGrafik;
boxGrafik = "boxGrafik" + ausrichtung;
boxkennung = "box" + ausrichtung;
andereBoxkennung = "box" + andereAusrichtung;
//alert ( links );
//document.getElementById(boxkennung).style.left = ( links * 150 );
document.getElementById(andereBoxkennung).style.visibility = "hidden";
document.getElementById(boxGrafik).src = grafik;
document.getElementById(boxkennung).style.visibility = "visible";
document.getElementById(boxkennung).style.visibility = "visible";
document.getElementById(boxkennung).style.top=150;
document.getElementById(boxkennung).style.left= ( links * 150 );
}
...................................................................
Entscheidende Frage:
Warum lässt sich die Box nicht über eine Anweisung wie diese:
JavaScript:
...................................................................
document.getElementById(boxkennung).style.left= ( links * 150 );
...................................................................
positionieren?
In selfhtml hab ich z.B. unter
keine konkreten Hinweise gefunden.
Hängt das vor allem mit der Art der Positionierung von #boxHorizontal zusammen (absolut) oder was spielt da eine Rolle?
viele Grüße vom Galerie-Bastler ;-)
Hi,
Warum lässt sich die Box nicht über eine Anweisung wie diese:
document.getElementById(boxkennung).style.left= ( links * 150 );
positionieren?
Weil du (sofern links einen anderen Wert als 0 hat) einen ungueltigen Wert zuweist, da die Angabe einer Einheit fehlt.
MfG ChrisB
Es funktioniert, danke Euch beiden!
(Das war schon wieder so einfach... - da wär ich die
nächste Zeit nicht von selber draufgekommen! ;) )
Liebe(r) Galerie,
left: 200px;
top: 20px;
[...]
//document.getElementById(boxkennung).style.left = ( links * 150 );
document.getElementById(boxkennung).style.top=150;
document.getElementById(boxkennung).style.left= ( links * 150 );
siehst Du's selber?
Liebe Grüße,
Felix Riesterer.