Bildgröße auslesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bildgröße auslesen

    Hallo!
    Ich habe foglenden Link:
    <a href="Javascript:FotoWindow('foto-gross.jpg','480','360');"><img src="images/apartments/kreischerg_apartment_0001_thumb.jpg" alt="Apartment Kreischberg"></a>

    Als src habe ich meine Thumnails angegeben. Die originalbilder heißen gleich, nur dass _thumb weggelassen wird. In diesem Beispiel also kreischerg_apartment_0001.jpg.
    Ich möchte jetzt, dass es mir bei FotoWindow(); automatisch den Namen des Originalbildes ausliest + höhe + breite.
    Geht das mit JavaScript. Wenn ja, mit welchen mitteln kann ich dieses Problem lösen?

  • #2
    Ich würde es so machen:
    Code:
    <img src="images/apartments/kreischerg_apartment_0001_thumb.jpg" onclick="FotoWindow(this);" border="0" alt="" />
    
    function FotoWindow( elImage )
    {
    	try
    	{
    		// ..
    		var strRealImage = elImage.src.replace('_thumb', '');
    		// ..
    	}
    	
    	catch(err) { alert( '['+ err.lineNumber +'] '+ err.message ); }
    }

    Kommentar


    • #3
      Ok, danke. Ich habs jetzt geschafft. Falls jemand das gleiche Problem hat wie ich... hier der Code:

      Code:
      <script type="text/javascript">
      <!--
      function FotoWindow(bildurl)
      {
      		bildurl = bildurl.src.replace('_thumb', '');
      		b = 600; //default breite
      		h = 600; // defaul hoehe		
      		var eigenschaften,sbreite,shoehe,fenster,b,h;
      		
      		// stellt die Bildschirmabmessungen fest
      		// find window size
      		var ns6 = (!document.all && document.getElementById);
      		var ie4 = (document.all);
      		var ns4 = (document.layers);
      		
      		if(ns6||ns4) {
      		sbreite = innerWidth;
      		shoehe = innerHeight;
      		}
      		else if(ie4) {
      		sbreite = document.body.clientWidth;
      		shoehe = document.body.clientHeight;
      		}
      		
      		x = (sbreite-b)/2;
      		y = (shoehe-h)/2;
      		
      		eigenschaften="left="+x+",top="+y+",screenX="+x+",
      screenY="+y+",width="+b+",height="+h+",
      menubar=no,toolbar=no,statusbar=0";
      		
      		fenster=window.open("","",eigenschaften);
      		fenster.focus();
      		fenster.document.open();
      		with (fenster) {
      		  document.write("<html>\n<head>\n");
      		  // geändert 2004 für Mozilla
      		  document.write('<scr' + 'ipt type="text/javascr' + 'ipt" language="JavaScr' + 'ipt">\n');
      		  // bei click  schliessen , on click close
      		  document.write("function click() { window.close(); } ");
      		  document.write("document.onmousedown=click ;");
      		  // geändert 2004 für Mozilla
      		  //ermittelt die Bildgröße falls das Bild nich aus dem Chache geladen wird
      		  document.write("\n function bilgroese_ermitteln(){");
      		  document.write("\n if(document.bild_gros.complete == false)");
      		  document.write("\n {");
      		  //falls der Ladevorgang noch nicht abgeschlossen ist wird die Funktion erneut aufgerufen
      		  document.write("\n setTimeout('bilgroese_ermitteln();',500)");
      		  document.write("\n }");
      		  //wenn das Bild geladen wurde, wird das Fenster an die Bildgröße angepasst
      		  document.write("\n else");
      		  document.write("\n {");
      		  document.write("\n var hoehe = document.bild_gros.height;");
      		  document.write("\n var breite = document.bild_gros.width;");
      		  document.write("\n window.resizeTo(breite,hoehe);");	  
      		  document.write("\n }");
      		  document.write("\n }");
      		  
      		  
      		  
      		  document.write('\n </scr' + 'ipt>');
      		  document.write("<title>klick to close</title></head>");
      		  // bei Focusverlust schliessen, close if window looses focus
      		  // Zeile geändert Aug 2003 (Dreamweaver machte Probleme)
      		  document.write("<" + "body onblur='window.close()';");
      		  document.write("marginwidth='0' marginheight='0' leftmargin='0' topmargin='0'>");
      		  document.write("<center>");
      		  document.write("<img src='"+ bildurl +"' border='0' name='bild_gros' alt='Bild_gross'>");
      		  document.write("</center>\n");
      		  
      		  //verkleinert das Fenster auf die Größe des Bildes
      		  document.write('<scr' + 'ipt type="text/javascr' + 'ipt" language="JavaScr' + 'ipt">' + "\n");
      		  //Falls das Bild nicht komplett geladen wurde, wird die Funktion mit dem Timeout aufgerufen
      		  document.write('if(document.bild_gros.complete == false){bilgroese_ermitteln();}');
      		  //Falls das Bild aus dem Cache geladen wird / Das Fenster wird auf die Bildgröße angepasst
      		  document.write("\n if(document.bild_gros.complete == true)");
      		  document.write("\n {");
      		  document.write("\n var hoehe = document.bild_gros.height;");
      		  document.write("\n var breite = document.bild_gros.width;");
      		  document.write("\n window.resizeTo(breite,hoehe);");		  
      		  document.write("\n }");
      		  document.write('</scr' + 'ipt>');
      		  //ende des Documents
      		  document.write("</body></html>");
      		  fenster.document.close();
      		}
      }
      //-->
      </script>
      auferufen wird das Ganze mit
      <a href="#"><img src="image_0001_thumb.jpg" onclick="FotoWindow(this); return false;" alt="bildname" /></a>
      Zuletzt geändert von nobody2; 01.10.2006, 17:29.

      Kommentar


      • #4
        Hmmmm... Ich bin gerade drauf gekommen, dass Safari die Eigenschaft "complete" nicht kennt. Gibts da irgendeine Alternative dafür?
        Zuletzt geändert von nobody2; 02.10.2006, 08:34.

        Kommentar

        Lädt...
        X