Shop-Hilfe.com
-


Hinweise


Antwort
 
LinkBack (2) Themen-Optionen Thema durchsuchen Thema bewerten
Alt 09.01.2006, 00:26   2 links from elsewhere to this Post. Click to view. #1
TP-Newbie
 
Registriert seit: Jan 2006
das_chappi macht alles soweit korrekt

Bildgröße ermitteln


Hallihallo!

Ich bin nicht sonderlich bewandert in Sachen JavaScript und stehe nun schon seit einiger Zeit vor folgendem Problem:
Auf meiner Webseite sollen beim Klick auf Thumbnails die entsprechenden Originalbilder in jeweils passend großen Popups geöffnet werden. Da die Originalbilder aber alle unterschiedlich groß sind und auch verschiedene Seitenverhältnisse haben, wäre es schon, wenn das script zum Öffnen des Popups vorher auch selbstständig die Bildgröße ermitteln könnte, um die Popupgröße an diese anzupassen.

Soweit ich herausgefunden habe, lässt sich das über diesen Ansatz realisieren:

function oeffnen(datei) {
var bild = new Image();
bild.src = datei;

...und dann im window.open die Maße per bild.width und bild.height angeben.

Das funktioniert soweit auch, allerdings immer erst beim zweiten Klick auf einen Thumbnail. Beim ersten Klick wird das Bild in einem beliebig großen Fenster geöffnet - bild.width und bild.height sind zu diesem Zeitpunkt gleich Null.
Ich vermute zwar, der Fehler wird dadurch verursacht, dass die Bildgröße schon ermittelt wird, bevor das Bild überhaupt geladen wurde, habe allerdings keine Ahnung, wie man das umgeht. Kann mir hier vielleicht jemand helfen?

Viele Grüße,
Elisa
das_chappi ist offline   Mit Zitat antworten


Alt 09.01.2006, 00:50   #2
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
http://www.infos24.de/javascripte/ha...it_bildern.htm
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 09.01.2006, 12:17   #3
TP-Moderator
 
Benutzerbild von Malleus
 
Registriert seit: Aug 2004
Ort: Homburg / Saarland
Malleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKE
Hi, ich hab' vor kurzem etwas ähnliches programmiert und denke mal, daß es Dir helfen wird.

GetHeightWidthOnLoad

Code:
<html>
<head>
<title>Malleus' Image-Loading Test mit "onload"</title>
<script language="JavaScript" type="text/javascript">
<!--
function doIt()
{
var newImage = new Image();
newImage.onload = function ()
{
getHeightWidth( this )
};

newImage.src = "http://www.javascript-spielereien.de/miscs/movezoom/Gretel02.jpg";

getHeightWidth( newImage );
}

function getHeightWidth( newImage )
{
if (newImage.alreadyLoaded || newImage.width == 0)
	return true;
breite = newImage.width;
hoehe = newImage.height;
newImage.alreadyLoaded = true;
alert(breite + ":" + hoehe);
document.getElementById( "myDiv" ).appendChild( newImage );

}


//-->
</script>
</head>
<body>
<input type="button" value="Lade Bild mit dem Onload-Event" onclick="doIt()"/>
<div id="myDiv"></div>
</body>
</html>
Erklärung: Du "mußt" einen onload-Handler schreiben, der nach dem Laden des Bildes automatisch aufgerufen wird. Erst zu diesem Zeitpunkt hast Du Höhe und Breite. Da das Setzen der "SRC" asynchron abläuft, also die Programmausführung direkt weiterläuft, ist Höhe und Breite "meistens" 0.

Das Onload feuert aber bei manchen Browers nicht immer (Cache). Aus diesem Grund rufe ich diese Funktion nochmal manuell auf und überprüfe, ob Höhe und Breite ungleich "0" sind. Wenn ja, setze ich ein Flag, das dann später von "richtigen" Onload-handler überprüft wird.

Okay?

Wenn nicht, einfach nachfragen

tschau

Frank
Malleus ist offline   Mit Zitat antworten
Alt 11.01.2006, 00:10   #4
TP-Newbie
 
Registriert seit: Jan 2006
das_chappi macht alles soweit korrekt
Hmm, also ich bin mir ziemlich sicher, dass ich sowas nicht hätte selber schreiben können...
Habe mein script jetzt jedenfalls entsprechend geändert und nun funktioniert alles bestens. Vielen Dank also!

Achja, und nebenbei bemerkt - coole Katze ;-)
das_chappi ist offline   Mit Zitat antworten
Alt 11.01.2006, 20:26   #5
TP-Moderator
 
Benutzerbild von Malleus
 
Registriert seit: Aug 2004
Ort: Homburg / Saarland
Malleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKE
Freut mich, daß es funktioniert hat und wie gesagt, wenn Dir etwas unklar ist, einfach nachfragen!

Tschau

Frank
Malleus ist offline   Mit Zitat antworten
Alt 12.03.2006, 18:23   #6
TP-Member
 
Registriert seit: Apr 2004
Ort: Berlin
MadCat macht alles soweit korrekt
Hallo,

ich würde hier gern noch einmal nachhaken:

Ich habe 3 Bildgalerien, die jeweils per open window angesteuert werden, allerdings läuft dann die Galerie im Fenster als Flashfilm (Slideshow).
Unter dem Movie habe ich einen Hyperlink auf die nächste Galerie gemacht, so dass der User nicht immer das Fenster schliessen und die nächste Galerie neu öffnen muss.
Jetzt legt aber der erste Befehl für open Window die Fenstergrösse fest und wenn man dann auf "next" klickt, bleibt diese so. Da es ein Movie ist variiert die Grösse ebenfalls, nur wie kann ich das in den "next"-link einbauen, so dass sich das bestehen Fenster automatisch vergrössert?

So wie oben für einzelne Bildgalerien mit jpg´s ?

Vielen Dank im voraus und Grüsse,
MadCat
__________________
Ein Problem ist eine Lösung im Arbeitskittel!
MadCat ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > HTML Puristen > Javascript
Bildgröße ermitteln Bildgröße ermitteln
« getElementsByName - Problem | text anzeigen/verstecken + features »

LinkBacks (?)
LinkBack to this Thread: http://www.traum-projekt.com/forum/101-javascript/76508-bildgr-e-ermitteln.html
Erstellt von For Type Datum
www.forum-hilfe.de - Bildgröße an HTML übergeben Das Html Webdesign Webmaster Forum PHP-Forum CSS Java Flash Scripte Gif Homepage-Forum Hausaufgaben Internet pc-forum Community Tutorials xhtml Linux Windows - Bildgröße an HTML übergeben This thread Refback 25.07.2008 11:11
forum-hilfe.de - Bildgröße an HTML übergeben This thread Refback 21.07.2008 18:13

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:24 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67