Elevate Zoom Zoom-Fenster für unterschiedlich große Bilder einstellen

8

Ich probiere Elevate Zoom aus und habe ein kleines Problem, bei dem ich Hilfe brauche.

Im Grunde, wie Sie aus der DEMO sehen werden, die ich eingerichtet habe, versuche ich herauszufinden, ob es eine Möglichkeit gibt, das neu zu initialisieren Klicken Sie auf ein Thumbnail oder setzen Sie die Daten zurück, so dass das Zoomfenster für höhere Bilder (das Foto des Towers) nicht die Dimension des ersten Bildes verwendet. (was ich aus dem erfahre, was ich herausfinden kann, ist).

Leider habe ich nicht die Macht, die Leute, die dieses Format verwenden, dazu zu bringen, ihre Bilder richtig zu formatieren, daher ist es notwendig, unterschiedliche Höhen an Bildern zu berücksichtigen. Kann es gemacht werden?

Mein Code, basierend auf der Demo-Datei für den Moment

%Vor%

Die jQuery

%Vor%

Randnotiz

Sie werden vielleicht bemerkt haben, dass ich alle Verweise auf die Bilder auf den großen Dateipfad gesetzt habe. Dies liegt daran, dass der Benutzer, wie ich dieses Plugin verwenden möchte, nur eine Datei mit mittlerer Auflösung hochlädt.

    
Doidgey 14.06.2013, 15:04
quelle

10 Antworten

21

Nicht sicher, ob Sie danach gefragt haben, aber eine einfache Lösung zum Entfernen des Zooms besteht darin, die Elementdaten elevateZoom für das Hauptbild zu entfernen und .zoomContainer -Elemente zu zerstören. Nach dem Aktualisieren der Zoom-Bildelementdaten können Sie elementZoom erneut instanziieren. Wenn Sie jedoch die gleiche Bildhöhe für zoomContainer-Bilder beibehalten möchten, sollten Sie in Betracht ziehen, serverseitige Bildgrößenanpassung zu verwenden und sie zu rendern.

Hier ist eine Lösung, die ich mir ausgedacht habe:

%Vor%

P.S. Da Sie die Verwendung des Click-Ereignisses vorgeschlagen haben, können Sie sehen, dass ich die Galeriefunktion von elavateZoom entfernt habe, weil sie praktisch dasselbe tut, wenn sie nicht zusammen mit fancybox verwendet wird.

    
Egils 15.07.2013, 12:28
quelle
6

Verwenden Sie die eingebaute Galeriefunktion und stellen Sie die Höhe von zoomContainer bei jedem Bildwechsel ein.

%Vor%     
Gabor 14.08.2013 08:31
quelle
2

Wenn ich das Problem einfach verstehe: Breite und Höhe im Zoombereich dürfen sich nach dem Klick auf kleine Bilder nicht ändern. Wenn ja,

%Vor%

funktionierte für mich - Bild im Zoombereich behält Dimensionen bei, wie ich für # zoom_03 im Stylesheet eingestellt habe.

    
Ilya Slyisarenko 17.07.2014 15:12
quelle
1

Neben der ausgezeichneten Antwort von Fülöp Gábors können Sie auch Breiten einstellen, um eine vollständige Größenanpassung zu erhalten. Das hat für mich funktioniert.

%Vor%     
Andrew 02.10.2013 10:40
quelle
1

Sie können DOM-Attribute direkt wie folgt ändern:

%Vor%     
mistercx 10.12.2013 11:56
quelle
0

Ich habe einige alternative Plugins für Ihre Bedürfnisse, wenn Sie hier lesen müssen.

Ссылка

    
akelya 27.02.2014 06:32
quelle
0

Ich habe eine schöne Lösung gefunden! Fügen Sie diese Option zu Ihrer Konfiguration hinzu: constrainType: 'width'

%Vor%     
Vladimir Nikolsky 03.10.2014 01:46
quelle
0

Irgendwann funktioniert setInteval nicht. Also ändere ich den Code basierend auf @ Gábor. Das hat für mich funktioniert.

$("#gallery_01 a").click(function() { $(#zoom_03).on("load",function() { var height = $("#zoom_03").css("height"); $(".zoomContainer").css("height", height); $(".zoomContainer .zoomWindow").css("height", height); }); });

    
lslab 21.11.2014 08:24
quelle
0

Ich verwende die lightSlider-Bildergalerie, um elevateZoom auszulösen, nur auf der gerade aktiven Folie, könnte auch für dieses Szenario nützlich sein:

%Vor%

Funktioniert perfekt und vermeidet die "elevateZoom-Trigger Zoom auf versteckte Bilder" -Bug!

    
Sliq 29.11.2016 11:34
quelle
0

Für diejenigen, die # zoom_03 oder etwas ähnliches verwenden

Bildgröße der Ausgabe kann eingeschränkt werden, nachdem die Galerie mit dem folgenden Code angeklickt wurde .

%Vor%

VON ElevateZoom offizielle Dokumentation: Bildeinschränkung

    
Edwardhk 20.02.2017 10:44
quelle

Tags und Links