JQuery - Wie kann ich problemlos ändern der Größe eines Bildes zu erstellen, die einen pulsierenden Effekt?
Hey, Im arbeiten an einer website mit einem Freund von mir, und von Anfang an, unseren Kunden unzufrieden mit der Qualität einer unserer Animationen. Diese animation nimmt ein Bild und macht es größer, dann macht es kleiner, und das wiederholt sich um einen pulsierenden Effekt. Die Deckkraft ändert sich auch während der animation.
Die aktuelle animation auf der Startseite der Website http://laveryrowe.com. Die animation in der Frage ist das 75% - Bild, das Sie sehen sofort nach der Ankunft auf der Website.
Habe ich getestet in safari, firefox und internet explorer. Die animation eben nur über die macht der Schnitt in firefox, aber in safari und internet explorer produzieren nicht glatt genug Größe für unsere Kunden.
Kennt jemand eine bessere Methode zu animieren, als die, die ich verwendet habe? (siehe code unten und schauen Sie sich die Website für ein Beispiel).
function pulse() {
$('#seventyfive').animate({
marginTop: 175,
marginLeft: 25,
width: 261, height: 98,
opacity: 0.5
}, 700, function() {
$('#seventyfive').animate({
marginTop: 161.95,
marginLeft: 15.2,
width: 287.1, height: 107.8,
opacity: 1
}, 700, function() {
pulse();
});
});
};
Vielen Dank im Voraus, Wir könnten wirklich eine hand,
Edit: ist nicht Das Problem mit der Positionierung, (oder zumindest ich glaube nicht, dass es ist) stattdessen, mehr zu tun mit der Art, wie das Bild skaliert wird, können Sie feststellen, die nervös Kanten, wie es größer wird. Es scheint besser Aussehen als die Deckkraft ist erhöht, aber ich brauche die gleiche Qualität, wenn es undurchsichtig ist.
Jai
- Vielleicht verwenden Sie ein animiertes GIF?
- Ich denke, Sie sollten mithilfe von css-übergang für Browser, die es unterstützen (IE9, Firefox, Safari, Opera) und fallback auf animierte gif-Datei, wenn es nicht
- Nicht, um einen Krieg beginnen, aber ich sehe auch die andere Seite, die. Warum entwickeln (test, Bereitstellung, Wartung) zwei Lösungen, mit denen man zu tun?
- 2 Lösungen scheint ein wenig verschwenderisch, aber trotzdem danke! mein einziges Problem bei GIFs ist, dass Sie eine merkwürdige pixelige Effekt manchmal, oder ist das einfach meine Art, Sie zu erstellen?
- Ich bin mit IE8 und ich denke, es sieht ziemlich glatt. In welcher Weise wird es schlecht Aussehen? Ist es ein framerate-Sache oder sind die Kanten gezackt suchen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre animation nicht glatt, weil Ihre marginLeft wird abgerundet (Bild bewegt sich nach Links ein pixel), und dann Ihre Breite wird aufgerundet (Bild Pixel nach rechts bewegt, nur ein wenig, weil Sie re-gesampelt, um eine größere Breite.) Auch wenn das Bild nicht nach rechts bewegen Ihre Augen verraten, dass Sie es Tat, weil Sie wahrnehmen, die in der Mitte des Bildes als etwas auf der rechten Seite. Dies zusammen mit tun die gleiche Sache, vertikal macht die animation erscheinen zu springen.
Hier ist ein Beispiel, warum ich denke, dass die Kanten scheinen zu flackern oder zittern. Unten Sind zwei Bilder, die beide 3 von 1 Pixel. Sie sind beide Größe 5 von 1 und zog 4 Pixel nach Links. Das Blaue ist das, was Sie sehen, ist, wo die Größe und Position unabhängig voneinander geändert werden können. Die rot erlaubt nur die Größe zu ändern, wenn sich der Ort ändert sich und sollte angezeigt werden, um eine flüssige animation.
Haben Sie sah in der Verwendung von jQuery UI effects?
http://jqueryui.com/demos/effect/#default
Andere alternative ist, sprechen Sie aus der pulsierenden 75% und in einigen gelb blinkende Banner und die geschmackvolle Verwendung von frames.
Und was die Animation der Schriftgröße? I. e. => http://jsfiddle.net/steweb/D3X7R/
js/jQuery
Markup:
Css:
Könnten Sie versuchen, mit Hilfe += einige Quantität statt zu animieren, auf einen bestimmten Wert, jedes mal. Ich habe es vor und nie bemerkt keine Probleme.
Hier ist ein Beispiel, die folgenden →
Das problem ist, dass Sie zu animieren, sowohl die position und die Größe, in der gleichen Zeit, und Sie sind out of sync mit einander. Ich verstehe, dass Sie tun dies, um zu versuchen zu halten es vertikal zentriert und horizontal. Stattdessen würde ich einen (gefürchtete Tabelle), um das Bild in die richtige position, und nur Impuls an die Größe und Deckkraft mit Javascript, in etwa so:
Können Sie die position und die Größe dieser Tabelle, aber Sie brauchen, um es an die richtige Stelle (mit absoluter Positionierung, wenn nötig).
Ich würde mit Flash zu animieren, die "75%" PNG-SUPER smooth mit easing-Funktion. Das wird sehr gut funktionieren.