Ich möchte etwas Ähnliches wie den Yellow Fade-Effekt von 37Signals implementieren .
Ich benutze Jquery 1.3.2
Der Code
(function($) {
$.fn.yellowFade = function() {
return (this.css({backgroundColor: "#ffffcc"}).animate(
{
backgroundColor: "#ffffff"
}, 1500));
}
})(jQuery);
und beim nächsten Aufruf zeigt gelb das DOM-Element mit der Box- ID aus.
$("#box").yellowFade();
Aber es macht es nur gelb. Kein weißer Hintergrund nach 15000 Millisekunden.
Irgendeine Idee, warum es nicht funktioniert?
Lösung
Sie können verwenden:
$("#box").effect("highlight", {}, 1500);
Aber Sie müssten Folgendes einschließen:
Antworten:
Diese Funktion ist Teil von jQuery effects.core.js :
Wie Steerpike in den Kommentaren hervorhob, müssen effects.core.js und effects.highlight.js enthalten sein, um dies nutzen zu können.
quelle
Ich habe die Antwort von Sterling Nichols geliebt, da sie leicht war und kein Plugin benötigte. Ich habe jedoch festgestellt, dass es mit schwebenden Elementen nicht funktioniert (z. B. wenn das Element "float: right" ist). Also habe ich den Code neu geschrieben, um die Hervorhebung richtig anzuzeigen, unabhängig davon, wie das Element auf der Seite positioniert ist:
Optional:
Verwenden Sie den folgenden Code, wenn Sie auch den Randradius des Elements anpassen möchten:
quelle
Die jQuery-Effektbibliothek fügt Ihrer App einen unnötigen Overhead hinzu. Sie können dasselbe nur mit jQuery erreichen. http://jsfiddle.net/x2jrU/92/
quelle
.width(el.outerWidth())
und.height(el.outerHeight())
hervorgehoben.Definieren Sie Ihr CSS wie folgt:
Fügen Sie die Klasse einfach
yft
zu einem beliebigen Element hinzu$('.some-item').addClass('yft')
Demo: http://jsfiddle.net/Q8KVC/528/
quelle
Sollte den Trick machen. Stellen Sie es auf Gelb und verblassen Sie es dann auf Weiß
quelle
Ich habe gerade ein ähnliches Problem bei einem Projekt gelöst, an dem ich gearbeitet habe. Standardmäßig kann die Animationsfunktion keine Farben animieren. Versuchen Sie, jQuery-Farbanimationen einzuschließen .
Alle Antworten hier verwenden dieses Plugin, aber niemand erwähnt es.
quelle
Eigentlich habe ich eine Lösung, die nur jQuery 1.3x und kein zusätzliches Plugin benötigt.
Fügen Sie Ihrem Skript zunächst die folgenden Funktionen hinzu
Rufen Sie als nächstes die Funktion folgendermaßen auf:
Ich lasse Sie die Parameter erraten, sie sind ziemlich selbsterklärend. Um ehrlich zu sein, ist das Skript nicht von mir, ich habe es auf eine Seite genommen und dann geändert, damit es mit der neuesten jQuery funktioniert.
NB: getestet auf Firefox 3 und dh 6 (ja, es funktioniert auch auf diesem alten Ding)
quelle
Die Zeile
this.style.removeAttribute('filter')
ist für einen Anti-Aliasing-Fehler im IE.Rufen Sie jetzt von überall YellowFade an und übergeben Sie Ihre Auswahl
Bildnachweis : Phil Haack hatte eine Demo, die genau zeigte, wie das geht. Er machte eine Demo zu JQuery und ASPNet MVC.
Schauen Sie sich dieses Video an
Update : Hast du dir das Video angesehen? Um dies zu erwähnen, ist das JQuery.Color-Plugin erforderlich
quelle
Ich hasste es, 23 KB hinzuzufügen, nur um effects.core.js und effects.highlight.js hinzuzufügen, also schrieb ich Folgendes. Es emuliert das Verhalten, indem es fadeIn (das Teil von jQuery selbst ist) verwendet, um das Element zu "flashen":
Rufen Sie es dann mit $ ('. item') auf. faderEffect ();
quelle
Das ist meine Lösung für das Problem. es funktioniert hervorragend. Es besteht die jslint-Fehlerüberprüfung und funktioniert auch in IE8 und IE9 einwandfrei. Natürlich können Sie es optimieren, um Farbcodes und Rückrufe zu akzeptieren:
quelle
Dies ist eine Nicht-jQuery-Option, die Sie für den Farbüberblendungseffekt verwenden können. Im Array "Farben" fügen Sie die Übergangsfarben hinzu, die Sie von der Anfangsfarbe bis zur letzten Farbe benötigen. Sie können so viele Farben hinzufügen, wie Sie möchten.
quelle
Wenn Sie eine alternative Yellow-Fade-Technik ausprobieren möchten, die nicht vom Effekt der jQuery-Benutzeroberfläche abhängt, können Sie ein gelbes Div (oder eine andere Farbe) hinter Ihrem Inhalt positionieren und jQuery .fadeOut () verwenden.
http://jsfiddle.net/yFJzn/2/
quelle
Ich habe einfach benutzt ...
quelle
Ein einfaches / rohes Skript für ein "gelbes Ausblenden", keine Plugins außer jquery selbst . Setzen Sie einfach den Hintergrund mit RGB (255.255, Hervorhebungsfarbe) in einem Timer:
quelle