Einzelnen Beitrag anzeigen

Benutzerbild von Mikescher
Mikescher

Registriert seit: 3. Jun 2008
Ort: Offenburg
265 Beiträge
 
Delphi 2009 Professional
 
#1

PHP/javascript-Code Problem bei anzeige versch. Image's

  Alt 29. Okt 2008, 18:18
Hallo,

Ich melde mich hier mal wieder mit einem Problem...

Der folgende Code soll eigentlich ein Bild und zwei Pfeile (vor & zurück ) anzeigen auf vor kommt das nächste Bild auf zurück das letzte...

Aber irgendwie funktioniert das alles nicht so wie es soll manchmal zeigt's die Bilder an... manchmal nicht beim ersten Durchlauf mit vor wird z.B. ein Bild nicht angezeigt dann geh ich zurück es wird immer noch nicht angezeigt geh ich dann aber wieder vor zeigt es das Bild dann doch an.

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title>Merlin Quacks-Evita Schwörer</title>
<?

  $Max=93; # Anzahl verwendeter Bilder !!! umbedingt bei Änderungen ändern !!!

  print("<script language=\"JavaScript\">
  <!--
    function OnLoad_Func()
      {
        ImagePreload();
        img_resize();
      }

    function ImagePreload()
      {
        document.Vorladen = new array()

        for(var i = 1; i < 10; i++)
          {
            document.Vorladen[i] = new Image();
            document.Vorladen[i].src = \"0\" + String(i) + \"_M.jpg\";
          }

        for(var i = 10; i < $Max + 1; i++)
          {
            document.Vorladen[i] = new Image();
            document.Vorladen[i].src = String(i) + \"_M.jpg\";
          }

      }

    function img_forward()
      {
        var name = '_M';
        var ActualImage = document.images[\"image\"].src;
        var lastSlash = ActualImage.lastIndexOf('/');
        var Count_String = ActualImage[lastSlash+1]+ActualImage[lastSlash+2];
        var Count = parseInt(Count_String, 10);
        Count = Count + 1;
        if (Count == $Max+1)
          { Count = 1; }
        var NewCount = String(Count)
        while (NewCount.length < String(".$Max.").length )
        {
        NewCount= \"0\"+NewCount;
        }
        var NewImage = NewCount + name + '.jpg';
        document.images[\"image\"].src = NewImage;
        img_resize();
         document.title =String(Count)+\" - \"+NewImage;;
      }

    function img_back()
      {
        var name = '_M';
        var ActualImage = document.images[\"image\"].src;
        var lastSlash = ActualImage.lastIndexOf('/');
        var Count_String = ActualImage[lastSlash+1]+ActualImage[lastSlash+2];
        var Count = parseInt(Count_String, 10);
        Count = Count - 1;
        if (Count == 0)
          { Count = $Max; }


        var NewCount = String(Count)
        while (NewCount.length < String(".$Max.").length )
        {
        NewCount= \"0\"+NewCount;
        }
        var NewImage = String(Count) + name +  '.jpg';
        document.images[\"image\"].src = NewImage;
        img_resize();
         document.title =String(Count)+\" - \"+NewImage;;
      }

    function img_resize()
      {
        var img_img = new Image();
        img_img.src = document.images[\"image\"].src;
        var img_width = img_img.width;
        var img_height = img_img.height;
        var img_width_new = 600;
        var img_height_new = 450;
        if (img_width >= img_height)
          {
            img_height_new = img_height * (600 / img_width);
          }
        else if (img_height > img_width)
          {
            img_width_new = img_width * (480 / img_height);
          }
        document.images[\"image\"].width = img_width_new;
        document.images[\"image\"].height = img_height_new;
      }

    function ImageOver(imagename)
      {
        if (imagename == \"back\")
          {
            document.images[\"back\"].src = \"zuruckover.jpg\";
          }
        else if (imagename == \"forward\")
          {
            document.images[\"forward\"].src = \"vorover.jpg\";
          }
      }

    function ImageOut(imagename)
      {
        if (imagename == \"back\")
          {
            document.images[\"back\"].src = \"zuruck.jpg\";
          }
        else if (imagename == \"forward\")
          {
            document.images[\"forward\"].src = \"vor.jpg\";
          }
      }
    -->
</script>\n");
?>
</head>
<body onLoad="OnLoad_Func()" bgcolor="white" link="white">
 <center>

  <table border="0" width="906">
    <tr>
      <td valign="middle" width="150" height="480"> <a href="javascript:img_back();">
        [img]zuruck.jpg[/img]
        </a> </td>
      <td align="center" valign="middle" width="596">
        <? print("<img src=\"01_"."M".".jpg\" id=\"image\" name=\"image\" alt=\"image\" onClick=\"img_forward();\" />"); ?>
      </td>
      <td valign="middle" width="150"> <a href="javascript:img_forward();"> [img]vor.jpg[/img]
        </a> </td>
    </tr>
    <tr>
      <td colspan="2" height="40" valign="top" align="left"> Bild 001 </td>
      <td valign="top" align="right"> <font>&copy; by Mikescher.de</font> </td>
    </tr>
  </table>
    </center>
</body>
</html>

Erklärungen zum Code:

-> In dem Ordner sind 93 Bilder die so angeordnet sind : siehe hier

-> Den Code wollte ich eigentlich dynamisch gestalten so dass ich beliebig viele Bilder hinzufügen kann und nur $Max ändern muss

-> Wer sich das Ergebniss und die Fehler ansehen möchte (vermutlich weil wohl keiner meine Beschreibung des Fehlers verstanden hat ) muss nur hier klicken

MfG Mikescher
Mike
Operation gelungen, Patient tot.

http://www.mikescher.com
  Mit Zitat antworten Zitat