Bitte dringend um Hilfe bei JavaScript!
Hallo zusammen!
folgendes problem:
ich habe eine modelwebseite erstellt und diese enthält auch eine galerie. die bilder habe ich mit einem rollovereffekt ausgestatten und bei einem klick darauf öffnen sie sich in einem eigenständigen fenster. soweit so gut. mein problem ist jedoch das die formate der bilder sich unterscheiden und somit die größe des fensters nicht für alle bilder passt. das habe ich bis jetzt folgendermaßen gelöst:
<script type="text/javascript">
function FensterOeffnen1 (Adresse) {
Fenster1 = window.open(Adresse, "Zweitfenster", "width=520,height=780,left=100,top=200");
Fenster1.focus();
}
</script>
<script type="text/javascript">
function FensterOeffnen2 (Adresse) {
Fenster1 = window.open(Adresse, "Zweitfenster", "width=770,height=625,left=100,top=200");
Fenster1.focus();
}
</script>
<script type="text/javascript">
function FensterOeffnen3 (Adresse) {
Fenster1 = window.open(Adresse, "Zweitfenster", "width=780,height=550,left=100,top=200");
Fenster1.focus();
}
</script>
das könnte ich endlos so weiterführen und käme zu keinen ende! daher meine frage. kann ich es irgendwie einstellen das sich nur das bild in dessen größe extern öffnet und nicht ein komplettes browserfenster in dem das bild dann im oberen rand angezeigt wird??? wenn ich es so löse wie oben angegeben muss ich 10-15 verschiedene "fenster" anwählen um es einigermaßen hinzubekommen...is nicht gerade erstrebenswert. und am besten wäre es eben wenn sich das bild genau in der größe öffnet mit der es auf dem server liegt...dann fällt nämlich auch der ätzende weiße rand weg der keinen professionellen eindruck macht. vielen dank für eure hilfe!!!
grüße sven
Antwort schreiben
Antwort 1 von katy vom 19.01.2020, 06:53 Options
Hallo sven,
als ersten Vorschlag, um dein PopUp-Script etwas flexibler zu machen schlage ich sowas vor:
<script type="text/javascript">
function FensterOeffnen (Adresse,breite,hoehe) {
var Fenster = window.open(Adresse, "Zweitfenster", "width=" + breite + ",height=" + hoehe + ",left=100,top=200");
Fenster.focus();
}
</script>
Bei den Aufrufen müsstest du dann entsprechend die beiden Zahlen mit angeben, also
FensterOeffnen('bild1.htm',520,780)
Wenn du statt bild1.htm bild1.jpg nimmst, also direkt das Bild ins PopUp lädst ohne HTML drum herum, öffnet es sich immer in Originalgröße. Du müsstest nur dafür sorgen, dass das PopUp genügend groß ist. Hier musst du ein bisschen ausprobieren, denn von den angegebenen Werten geht etwas ab für den PopUp-Rand.
Allerdings gibt es UserInnen wie mich, die den Browser anweisen, Maßangaben für PopUps immer zu ignorieren!
katy
Antwort 2 von Tolwyn vom 19.01.2020, 21:01 Options
Hallo
hab noch eine kleine Verbesserung parat; damit kannst du dir die Hoehen und Breitenangaben für die Bilder sparen und universell nur eine Zeile eingeben:
Code wie von katy aber das Bild wie folgt aufrufen:
<img src="bild.jpg" onClick ="FensterOeffnen(this.src, this.width, this.height)">
gruß
tolwyn
Antwort 3 von katy vom 20.01.2020, 09:19 Options
Hallo tolwyn,
bedeutet das nicht:
dasselbe Bild in denselben Maßen wie in der Vorschau im PopUp zeigen?
Oder bezieht sich this hier nicht auf img?
katy
Antwort 4 von Helfer1 vom 20.01.2020, 09:45 Options
Hi, wie @katy schon schreibt, solltest du PopUps vermeiden. Die meisten haben diese Funktion deaktiviert und Javascript ebenso. Diese User sehen dein Bilder nicht. Öffne die Bilder auf einer neuen Seite.
Antwort 5 von Tolwyn vom 20.01.2020, 12:04 Options
Hallo katy
ja du hast recht
ich hab seine Ausganssituation missverstanden.
Bin von der Originalgröße der Bilder ausgegangen.
Mit this.height wird hier die aktuelle (kleinere) Höhe des Bildes eingelesen und nicht die Originalhöhe.
Gruß
tolwyn
Antwort 6 von katy vom 20.01.2020, 14:55 Options
Hallo Tolwyn,
deine Antwort beruhigt mich, ich habe die vertrackte Sache mit dem this wohl doch halbwegs verstanden.
Aber ich glaube dieser thread ist jetzt sowieso hinfällig, wenn ich
diesen anderen desselben Fragers richtig deute.
katy
Antwort 7 von actofjustice vom 20.01.2020, 15:38 Options
Hallo zusammen!
genau wie katy sagt, dieser thread kann geschlossen werden,
hab das mit der galerie nun hinbekommen und bin glücklich damit :). trotzdem hat mir die kleine javaschulung geholfen, also nochmal vielen dank an alle helfer!
gruß sven