Bildergalerie unsichtbar/sichtbar

Gesperrt
PhoeniXaC
Beiträge: 16
Registriert: Mo 21. Jul 2008, 11:18
Kontaktdaten:

Bildergalerie unsichtbar/sichtbar

Beitrag von PhoeniXaC » Mo 21. Jul 2008, 15:37

Hi,

vorab: falls der Thread an der falschen Stelle ist, entschuldige ich mich und bitte darum, ihn zu verschieben.

Und nun zu meinem kleinen Problem:

Ich habe für eine Website die Bildergalerie von

http://forum.contenido.org/viewtopic.ph ... 4:19apache

benutzt und sie nach meinem Wünschen modifiziert.
Leider bin ich noch sehr unerfahren, was Contenido, bzw. PHP an sich anbelangt, sodass der Code sehr unsauber sein kann (was ihr allerdings feststellen müsst :wink: )

Code: Alles auswählen

<!--###Bildausgabe###-->

    <iframe style="visibility:hidden;" id="iframe" name="hauptbild" src="picture.php?client=1&lang=1&idcat='.$idcat.'&idart='.$idart;
     if ($contenido)  {  echo '&contenido='.$contenido;  }
     if ($picture)  {  echo '&picture='.$picture;  }
     echo '"scrolling="no" border="0" frameborder="0" class="bildausgabe">

//    <script type="text/javascript">
//        onload="setTimeout(\'make_active(a)\',50000);"
//    </script>

    </iframe>
';

//##########-HTML-Output Ende-##########

Falls der Bereich zu klein ist, kann ich auch gerne mehr reinstellen, wollte bloß erstmal zuviel bzw. evtl. unnötiges weglassen.

Wie ihr seht, ist dieser Teil der Galerie in ein Iframe gepackt und nun wollte ich, dass dieser erst beim ersten Anklicken eines der Thumbnails sichbar wird.

Daher habe ich folgende JavaScript Formel in das ganze eingesetzt:

Code: Alles auswählen

function make_active(a) 
{
getElementsByClassName("shadows_active");
a.className = 'shadows_active';
document.getElementById('iframe').style.visibility = 'visible';
}

function getElementsByClassName(findClass) {
var aElm=document.body.getElementsByTagName('*');
for(var i=0; i<aElm.length; i++) {
if(aElm[i].className==findClass) {
aElm[i].className = 'shadows';

}
}
}

Ist bestimmt ne ziemliche Mogelpackung, hat aber soweit sogut erstmal funktioniert.

Zumindest fast, denn wenn ich den Iframe durch das Anklicken irgeneines Thumbnails sichtbar mache, wir zwar das entsprechende Bild geladen, aber man sieht vorher immernoch kurz das erste Bild der Galerie und das wirkt ziemlich stümperhaft (sein kann und wird es in meinem Fall auch sein, nur aussehen muss es anders :wink: ).

Eine Möglichkeit, diesen Umstand zu "beheben" (=vertuschen) wäre ja, die visibility des Iframes z.B. um eine Sekunde versetzt zu ändern, sodass das richtige Bild mittlerweile fertig geladen hat.

Ich würde aber gerne eine Variante nutzen, in der ich solche Schummeleien gar nicht erst benötige. Dumm dabei ist nur, dass mir diese nocht nicht bekannt ist.

Kennt ihr da zufällig eine Lösung und wenn ja, könnt ihr mir verraten, wie ich das anzustellen habe?
(Und wenn ihr viiieeel Zeit habt, könnt ihr mir auch gerne genau erklären, was ihr da gemacht habt, damit ich diese Sprache schneller lernen kann :roll: )

Liebe Grüße

PhoeniXaC



---------------------------------------------------------------------------


Edit: Falls das Forum Misc 4.x richtig war dann hab ich wenigsten nur einen Fehler in der Version gemacht. Mir ist soeben aufgefallen, dass diese Website noch in Contenido 4.6.23 eingefügt wurde.
Gleich der erste Thread und schon versaut :shock: *peinlich*

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Mo 21. Jul 2008, 20:52

verschoben ...
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!

miertschink_st
Beiträge: 54
Registriert: Mi 19. Apr 2006, 19:00
Kontaktdaten:

Beitrag von miertschink_st » Di 22. Jul 2008, 19:28

Hi, Stephan!

Versuch die picture.php umzuschreiben!

Du musst versuchen sie so umzuschreiben, dass kein Bild ausgegeben wird, wenn die picture.php ohne den Parameter "picture" aufgerufen wird (und das wird sie bei ersten Aufruf der Seite).

Sobald du auf ein Thumbnail klickst wird ja die picture.php neu geladen und zwar MIT dem Parameter "picture" (am Ende der URL).

Am besten du schreibst einfach an die Stelle wo das Bild in der picture.php ausgegeben wird irgendetwas in dieser Art:

Code: Alles auswählen

if (isset($_GET['picture'])
{
  gib ein Bild aus
}
else
{
gib kein Bild aus
}

Gesperrt