Versuchen zu tun, Fenster Größe ändern mit jquery-cycle-slideshow
Ich versuche zum ausführen einer JavaScript-window-resize-Skript auf eine Seite mit jQuery-cycle-slideshow, aber ich bin man ein paar Fehler, die ich kann nicht scheinen zu erarbeiten. Es ändert das erste Bild problemlos auf die Seite laden, aber dann vergisst die neue Breite/Höhe-Attribute für die nachfolgenden Folien. Ich kann diese wieder auf die vor und nach der Verwendung von jQuery, aber die Bilder immer flash in voller Größe für einen kurzen moment, bevor Sie die Größe ändern.
Ist jQuery.Zyklus ändern der Größe der Folien zurück zu Ihrer ursprünglichen Größe? Wenn ja, wie verhindere ich das?
$(document).ready(function () {
$('.slideshow').cycle({
fx: 'fade',
speed: 200,
timeout: 1000,
pause: 1,
before: function (currSlideElement, nextSlideElement, options, forwardFlag) {
resize();
},
after: function (currSlideElement, nextSlideElement, options, forwardFlag) {
resize();
}
});
$('.slideshow').find('img').css("height", "0");
$('#image').hide().idle(1000).fadeIn();
resize();
});
$(window).resize(function () {
resize();
});
function resize() {
var theheight = window.innerHeight;
var thewidth = window.innerWidth;
var imageheight = theheight - 200;
if (imageheight > 540) {
imageheight = 540;
}
if (imageheight < 300) {
imageheight = 300;
}
var imagewidth = imageheight / 0.6585365;
$(".slide").css("height", imageheight);
$(".slide").css("width", imagewidth);
$(".slide").attr("height", imageheight);
$(".slide").attr("width", imagewidth);
}
- Hi - könnte bitte senden Sie eine komplette Lösung? Ich kann nicht herausfinden, wie man kombinieren die Quelle hier, um die Größenänderung zu arbeiten! Danke!
InformationsquelleAutor James | 2010-02-02
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht es aus wie Zyklus speichert die dia-container-element, Breite-und Höhe-einmal, wenn Sie zuerst ihn nennen, und legt dann die eingehenden Folie, um jene Dimensionen, egal was Ihre Größe ändern Skript tut.
Ich hatte das gleiche Thema vor kurzem: die Kombination der Optionen
und
arbeitete für mich. Der Schlüssel war die Passform:1-die Art und Weise der Dokumentation beschreiben Sie es machen es scheinen, wie genau das, was ich nicht wollte, aber es erzeugt den gewünschten Effekt. Kann es nicht erklären, leider.
Dieser arbeitete für mich, die in ähnlichen Situationen:
Punkte zu beachten:
Macht diese Arbeit für Sie?
In die Optionen, dann fügen Sie diese:
Und für die Größe ändern, fügen Sie ein paar Variablen zu entsprechen, die festgelegt auf eine Größe:
Keinen Grund zu nennen, das in
before:
undafter:
mehr, nur einmal onload und in$(window).resize()
.Dank Nick, das war ein Schritt in die richtige Richtung. Ich habe es geschafft, es funktioniert mit der unten. Seltsam das es nicht funktioniert, wenn I dont haben animIn: Höhe/Breite auf einen anderen Wert eingestellt, als Sie in cssBefore: Alle Ideen auf, die?
egal was ich eingefügt in den Kreislauf mit option für mich gearbeitet (versucht '100%' oder 'auto'), so löste ich das problem über css
btw. 100% !wichtig tun würde, das gleiche trick. also die .slideshowContainer dauern wird, 100% der Breite des umgebenden Elements..