!!! Listings aus dem Artikel "Manche Strecke" !!! von Henning Behme, iX 7/09, S. 54 !!! Listing 1: XML-Quelle 15. November 2002 Vueltas Erstmal Schluss mit Fotos von der Hafenmauer, die rechts neben dem Foto bald größere Löcher aufweisen wird. !!! Listing 2: HTML-Auszug
Bilder
!!! Listing 3: JavaScript -- mit Minibildchen $(document).ready(function() { $('#bilder a').click(function(evt) { // Anfang von $('#bilder a').click evt.preventDefault(); var bildnr = $(this).attr('title').substr(5,1); var laenge = $(this).attr('title').substr(11,1); var querydaten = 'bild='+bildnr; $.getJSON('php/bilderserie-img.php', querydaten, zeigeBild); function zeigeBild (bdaten) { // Anfang der Funktion zeigeBild $('#einbild').html(''); $('#bildtext').html(bdaten.text[0]); } // Ende der Funktion zeigeBild }); // Ende von $('#bilder a').click }); // Ende von $(document).ready !!! Listing 4: PHP-Skript photo as $photo ) { if ( $arrfeld == $arrzaehler) { $zurueck = array(bild => $photo->attributes()->id, ort => $photo->ort, datum => $photo->datum, text => $photo->beschreibung); } $arrzaehler += 1; } echo json_encode($zurueck); } else { exit('XML-Datei irgendwie nicht zu öffnen...'); } ?> !!! Listing 5: JavaScript -- mit Ziffern $(document).ready(function() { $('#bilder a').click(function (evt) { bildrueckgabe($(this), evt); }); // $('#bilder a').click }); // Ende von $(document).ready function bildrueckgabe(objekt, evt) { evt.preventDefault(); var bildnr = objekt.attr('title').substr(5,1); $.getJSON('php/bilderserie-num.php', 'bild='+bildnr, zeigeBild); } function zeigeBild (bdaten) { // Anfang der Funktion zeigeBild var listentext = "\n\tBilder\n\t"; $('#liste').html(listentext); $('#einbild').html(''); $('#bildtext').html(bdaten.text[0]); $('#bilder a').click(function (evt) { bildrueckgabe($(this), evt); }); // $('#bilder a').click } // Ende der Funktion zeigeBild !!! Listing 6: mouseover/-out // mouseover/out registrieren bilder = $('#fuerbildernum li:has(a)'); bilder.mouseover(function () { diesesbild = $(this).find('a').attr('title').substr(5,1); linkerrand =110 + (diesesbild * 20); $(this).find('div.mini').css('left', linkerrand+'px').show(); }); bilder.mouseout(function () { $(this).find('div').hide(); });