Ok ich habe einen Leuchtkasten, der bis auf 1 Problem ganz gut funktioniert. Die Bilder werden dynamisch erstellt, es wird eine Liste von etwa 10 Bildern und Schleifen durch jedes Bild in einer Reihe angezeigt. So kann ich sehen, was falsch läuft. Egal, welches Bild ich auswähle, es zeigt das erste Bild im Leuchtkasten, also muss ich ihm eine Variable mit dem Bildpfad oder Bildnamen übergeben.Lightbox-Problem beim Laden des dynamischen Image-Namens
ich nicht wirklich haben, dass viel javascript Erfahrung, aber was im zu tun, der Hoffnung, die $popup_item->attributes()->name
in eine Variable gesetzt wird, es über das onclick
Ereignis passieren und dann in div
mit id="light"
statt $popup_item->attributes()->name
von geben ich die Variable übergeben, aber nicht sicher, ob das ist der beste Ansatz, oder auch dann, wenn
Es ist eine Schleife, wie dies zu beginnen, die Schleifen durch und druckt die Popup-Container ein paar mal aus:
foreach($xml->config->popup as $popup_item){
}
und die hTML-
<div id="popup_container">
<!-- We use a lightbox to show the image in full size since large popups are scaled -->
<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">
<!-- This is the scaled image -->
<!--popups are stored in images/popups/images/ in the following format -->
<!--id_popupname.png which we build dynamically below because -->
<!-- the popup name will always be same name as the popupimage with the user id preceeding it -->
<img src="images/popups/images/<?php echo $item_id . "_" . strtolower($popup_item->attributes()->name) . ".png" ;?>" alt="Popup Image"/>
</a>
<!--This holds the un-scaled image in the popup box which is hidden initially until you click the image-->
<div id="light" class="white_content">
<img src="images/popups/images/<?php echo $item_id . "_" . strtolower($popup_item->attributes()->name) . ".png" ;?>" alt="Popup Image"/></a>
<!--This allows you to close the lightbox window from within the lightbox window-->
<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'">Close</a>
</div>
<div id="fade" class="black_overlay"></div>
</div> <!--end of popup container-->
Und der Leuchtkasten css, falls es hilft:
.black_overlay{
display: none;
position: fixed;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color: black;
z-index:1001;
-moz-opacity: 0.8;
opacity:.80;
filter: alpha(opacity=60);
}
.white_content {
display: none;
position: fixed;
top: 25%;
left: 25%;
width: 50%;
height: 50%;
padding: 16px;
border: 16px solid orange;
background-color: white;
z-index:1002;
overflow: auto;
}
EDIT: Eigentlich müsste ich zwei Variablen übergeben, die $item_id
und das $popup_item->attributes()->name
aber Konzept ist das gleiche
Sie haben ein extra (* nicht geöffnet *) '' nach dem zweiten 'img' Tag. –