Versuch, die Fenstergröße mit jquery cycle slideshow zu ändern

8

Ich versuche, auf einer Seite mit einer jQuery-Zyklus-Diashow ein Skript zur Größenänderung des JavaScript-Fensters auszuführen, aber ich treffe einige Fehler, die ich nicht zu lösen scheint. Es ändert die Größe des ersten Bilds beim Laden der Seite, vergisst dann jedoch die neuen Attribute Höhe / Breite für nachfolgende Folien. Ich kann diese Einstellungen vor und nach der Verwendung von jQuery wieder aktivieren, aber die Bilder werden immer kurz in voller Größe angezeigt, bevor die Größe geändert wird.

Ändert jQuery.cycle die Größe der Folien auf ihre ursprüngliche Größe? Wenn ja, wie halte ich das an?

%Vor%     
James 02.02.2010, 12:16
quelle

5 Antworten

0

Danke Nick, das war ein Schritt in die richtige Richtung. Ich habe es geschafft, mit dem unten zu arbeiten. Seltsamerweise funktioniert es nicht, wenn ich animIn nicht habe: height / width auf einen anderen Wert als in cssBefore: Irgendwelche Ideen dazu?

%Vor%     
James 02.02.2010, 14:45
quelle
18

Es sieht so aus, als ob cycle die Breite und Höhe des Foliencontainers einmal beim ersten Aufruf speichert und dann die eintreffende Folie auf diese Dimensionen setzt, unabhängig davon, was das Größenänderungsskript tut.

Ich hatte kürzlich das gleiche Problem: die Kombination der Optionen

%Vor%

und

%Vor%

hat für mich funktioniert. Der Schlüssel war die Anpassung: 1 - die Art, wie die Dokumentation es beschreibt, lässt es genau erscheinen, was ich nicht wollte, aber es erzeugte den gewünschten Effekt. Kann es leider nicht erklären.

    
RobW 20.06.2011 20:13
quelle
1

Dies hat bei ähnlichen Umständen für mich funktioniert:

%Vor%

Zu beachtende Punkte:

  1. .lr-slider ist das div, das die Slides enthält, dies ist die Unterstützung für mehrere Sldshows
  2. In diesem Fall erbt .lr-slider seine Breite vom übergeordneten Element in css, also erzeuge ich diese in jQuery bei einem Fensterresize-Ereignis
  3. neu
  4. Die Folien sind alle div-Elemente, ohne Klassen oder IDs. Vielleicht möchten Sie dies für Ihre eigenen Zwecke interessanter machen, damit Sie sich explizit auf eine Klasse beziehen können.
daveyfaherty 16.06.2011 15:27
quelle
0

Funktioniert das für Sie?

Fügen Sie in Ihren Optionen Folgendes hinzu:

%Vor%

Und für die Größenanpassung fügen Sie einige Variablen hinzu, die mit einer Größenanpassung übereinstimmen:

%Vor%

Sie müssen dies nicht mehr in before: und after: aufrufen, nur einmal onload und in $(window).resize() .

    
Nick Craver 02.02.2010 12:25
quelle
0

egal, was ich in den Zyklus mit Option für mich eingefügt eingefügt (versuchte '100%' oder 'Auto'), so löste ich dieses Problem über CSS

%Vor%

übrigens. 100% wichtig wäre der gleiche Trick. Der .slideshowContainer nimmt also 100% Breite des umgebenden Elements.

    
honk31 24.07.2012 10:41
quelle

Tags und Links