Heim Web-Frontend js-Tutorial javascript动画对象支持加速、减速、缓入、缓出的实现代码_javascript技巧

javascript动画对象支持加速、减速、缓入、缓出的实现代码_javascript技巧

May 16, 2016 pm 05:49 PM
加速

调用接口:

复制代码 代码如下:

/**
* @param elem {HTMLElement} 执行动画的HTML元素
* @param params {JSON} 动画执行过过程中需要修改的HTML属性
* @param duration {Number} 可选,动画执行时间,单位毫秒
* @param easing {String} 可选,动画执行的方式,缓入easeIn、缓出easeOut
* @param callback {Function} 可选,动画执行完成时的回调函数
* @return
*/
effect.animate(elem, params, duration, easing, callback);

使用它用不了20行代码就可以做一个产品图片减速淡出、加速淡入的切换效果点击这里查看演示效果
复制代码 代码如下:

//辅助对象,读/写DOM元素属性
var attribute = {
get: function(elem, attr){
var val;
if(elem.currentStyle){
if(attr === "opacity") {
val = elem.filters.alpha[attr];
}else {
val = elem.currentStyle[attr];
}
}
else{
val = getComputedStyle(elem)[attr];
if(attr === "opacity") {
val = 100 * val;
}
}
return val;
},
set: function(elem, attr, val){
if(attr=='opacity'){
elem.style.filter = 'alpha(opacity='+ (val) +')';
elem.style.opacity = (val)/100;
}
else{
elem.style[attr] = val + 'px';
}
}
};
/*
* 描述: tween动画算法。
* @param Number t: 动画已经执行的时间(实际上时执行多少次/帧数)
* @param Number b: 起始位置
* @param Number c: 终止位置
* @param Number d: 从起始位置到终止位置的经过时间(实际上时执行多少次/帧数)
*/
var tween = {
//缓入
easeIn: function (t, b, c, d){
return c * (t/=d) * t + b;
},
//缓出
easeOut: function (t,b,c,d){
return -c * (t/=d) * (t-2) + b;
}
};
//动画对象
var effect = {
animate: function(elem, params, duration, easing, callback){
var dt = new Date().getTime(),
b = 0,
c = 0,
d = duration || 500,
fps = 1000/60;
var changes = [];
for(var attr in params){
b = parseFloat(attribute.get(elem, attr));
c = params[attr] - b;
changes.push({
attr: attr,
b: b,
c: c
});
}
easing = easing || "easeOut";
callback = callback || new Function;
setTimeout(function(){
var t = new Date().getTime() - dt;
var b, c, attr;
for(var i=0; ib = changes[i].b;
c = changes[i].c;
attr = changes[i].attr;
attribute.set(elem, attr, tween[easing](t, b, c, d));
if(d attribute.set(elem, attr, params[attr]);
callback();
return;
}
}
setTimeout(arguments.callee, fps);
}, fps);
}
};
//by rentj1@163.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Laravel-Caching-Mechanismus: Beschleunigen Sie die Reaktionszeit der Anwendung Laravel-Caching-Mechanismus: Beschleunigen Sie die Reaktionszeit der Anwendung Aug 26, 2023 pm 08:12 PM

Laravel-Caching-Mechanismus: Beschleunigen Sie die Reaktionszeit von Anwendungen. Einführung: Im heutigen Internetzeitalter ist eine schnelle Reaktionszeit von Anwendungen entscheidend für die Benutzererfahrung und den Geschäftserfolg. Um die Leistung und Reaktionsfähigkeit der Anwendung zu verbessern, müssen Entwickler einige Strategien anwenden. Eine davon ist die Verwendung eines Caching-Mechanismus. Als beliebtes PHP-Framework bietet Laravel einen leistungsstarken Caching-Mechanismus, der uns helfen kann, die Reaktionszeit unserer Anwendungen zu beschleunigen. In diesem Artikel wird die Verwendung des Laravel-Caching-Mechanismus ausführlich vorgestellt

So verwenden Sie Caching in FastAPI, um Antworten zu beschleunigen So verwenden Sie Caching in FastAPI, um Antworten zu beschleunigen Jul 28, 2023 pm 08:17 PM

So verwenden Sie Caching in FastAPI, um Antworten zu beschleunigen. Einführung: In der modernen Webentwicklung ist die Leistung ein wichtiges Anliegen. Wenn unsere Anwendung nicht schnell auf Kundenanfragen reagieren kann, kann dies zu einer Verschlechterung der Benutzererfahrung oder sogar zu einer Benutzerabwanderung führen. Die Verwendung von Cache ist eine der gängigen Methoden zur Verbesserung der Leistung von Webanwendungen. In diesem Artikel untersuchen wir, wie Caching verwendet werden kann, um die Reaktionsgeschwindigkeit des FastAPI-Frameworks zu beschleunigen, und stellen entsprechende Codebeispiele bereit. 1. Was ist Cache? Ein Cache ist ein Cache, auf den häufig zugegriffen wird

So verwenden Sie Numba, um numerische Berechnungen in Python-Programmen zu beschleunigen So verwenden Sie Numba, um numerische Berechnungen in Python-Programmen zu beschleunigen Aug 02, 2023 pm 05:37 PM

So verwenden Sie Numba, um numerische Berechnungen von Python-Programmen zu beschleunigen Einführung: Python ist eine sehr flexible und einfach zu verwendende Sprache, wenn es um numerische Berechnungen geht. Da Python jedoch eine interpretierte Sprache ist, läuft es relativ langsam, insbesondere bei intensiven numerischen Rechenaufgaben. Um die Leistung von Python-Programmen zu verbessern, können wir einige Optimierungstools und Bibliotheken verwenden. Eine sehr leistungsstarke Bibliothek ist Numba, die eine Just-in-Time-Kompilierung verwenden kann, ohne die Struktur des Python-Codes zu ändern.

So lösen Sie das Problem der langsamen Netzwerkgeschwindigkeit auf einem Win7-Computer So lösen Sie das Problem der langsamen Netzwerkgeschwindigkeit auf einem Win7-Computer Jan 04, 2024 am 09:17 AM

Viele Freunde, die Computer mit Win7-System verwenden, stellen fest, dass die Internetgeschwindigkeit bei Verwendung des Computers extrem langsam ist. Was passiert? Es kann sein, dass es in Ihren Netzwerkeinstellungen bestimmte Einschränkungen gibt. Heute werde ich Ihnen beibringen, wie Sie Netzwerkbeschränkungen entfernen und die Netzwerkgeschwindigkeit extrem schnell machen können / 40MHzauto“ ist ausreichend. Werfen wir einen Blick auf die spezifischen Tutorials. Methoden zur Verbesserung der Netzwerkgeschwindigkeit von Win7-Computern 1. Der Editor verwendet zur Veranschaulichung das Win7-System. Klicken Sie mit der rechten Maustaste auf das Symbol „Netzwerk“ auf der rechten Seite der Desktop-Taskleiste und wählen Sie „Netzwerk- und Freigabecenter“, um es zu öffnen . 2. Klicken Sie in der neu angezeigten Benutzeroberfläche auf „Adaptereinstellungen ändern“, klicken Sie dann mit der rechten Maustaste auf „LAN-Verbindung“ und wählen Sie zum Öffnen „Eigenschaften“. 3. Im geöffneten Fenster „Lokal

So aktivieren Sie die Hardwarebeschleunigung So aktivieren Sie die Hardwarebeschleunigung Feb 18, 2024 pm 01:41 PM

So aktivieren Sie die Hardwarebeschleunigung Mit der Entwicklung der Technologie ist die Hardwarebeschleunigung zu einem wichtigen Mittel zur Verbesserung der Computerleistung geworden. Durch die Verwendung der Hardwarebeschleunigung können wir die Laufgeschwindigkeit des Computers beschleunigen, die Grafikverarbeitungsfähigkeiten verbessern und den Computer effizienter und stabiler machen. Wie kann man also die Hardwarebeschleunigung aktivieren? In diesem Artikel wird es Ihnen ausführlich vorgestellt. Zunächst müssen wir das Konzept der Hardwarebeschleunigung klären. Unter Hardwarebeschleunigung versteht man im Allgemeinen die Verwendung dedizierter Computerhardware zur Beschleunigungsverarbeitung und nicht die Verwendung von Software. Die übliche Hardwarebeschleunigung umfasst GPU (Grafikprozessor) plus

Wie konfiguriere ich den Nginx-Proxyserver, um die Antwortzeit von Webdiensten zu beschleunigen? Wie konfiguriere ich den Nginx-Proxyserver, um die Antwortzeit von Webdiensten zu beschleunigen? Sep 05, 2023 pm 03:24 PM

Wie konfiguriere ich den Nginx-Proxyserver, um die Antwortzeit von Webdiensten zu beschleunigen? Einleitung: Im heutigen Internetzeitalter sind schnelle und reaktionsfähige Webdienste für das Benutzererlebnis von entscheidender Bedeutung. Als leistungsstarker, leichter Reverse-Proxy-Server kann Nginx die Reaktionsgeschwindigkeit von Webdiensten effektiv verbessern. In diesem Artikel wird erläutert, wie Sie den Nginx-Proxyserver konfigurieren, um die Antwortzeit von Webdiensten zu beschleunigen, und detaillierte Anweisungen mit Codebeispielen bereitstellen. Teil eins: Installieren und Konfigurieren des Nginx-Proxyservers. Installieren Sie zuerst Nginx

So konfigurieren und verwenden Sie CDN zur Beschleunigung in Vue So konfigurieren und verwenden Sie CDN zur Beschleunigung in Vue Oct 15, 2023 pm 02:31 PM

So konfigurieren und verwenden Sie CDN zur Beschleunigung in Vue. Im Vue-Projekt kann die Verwendung von CDN (ContentDeliveryNetwork) das Laden von Webseiten effektiv beschleunigen und die Benutzererfahrung verbessern. Die CDN-Technologie verteilt statische Ressourcendateien an Server an verschiedenen Standorten auf der ganzen Welt, sodass Benutzer schnell Ressourcen von dem Server abrufen können, der dem Benutzer am nächsten liegt, wodurch Datenübertragungszeiten und Verzögerungen reduziert werden. Im Folgenden wird detailliert beschrieben, wie Sie CDN für die Beschleunigung in Vue konfigurieren und verwenden. Zuerst müssen wir einen finden

Die Geheimwaffe zur Beschleunigung der PHP-Anwendungsbereitstellung: Deployer Die Geheimwaffe zur Beschleunigung der PHP-Anwendungsbereitstellung: Deployer Jul 12, 2023 am 10:22 AM

Die Geheimwaffe zur Beschleunigung der PHP-Anwendungsbereitstellung: Die schnelle und effiziente Bereitstellung von Anwendungen war schon immer eine der wichtigen Aufgaben des Softwareentwicklungsteams. Bei der PHP-Entwicklung umfasst die Bereitstellung einer Anwendung normalerweise mehrere Schritte wie das Hochladen von Dateien, das Aktualisieren von Code und das Konfigurieren der Umgebung. Um diesen Prozess zu vereinfachen und zu beschleunigen, werden nach und nach moderne Entwicklungstools und -technologien eingeführt. Eine der weithin anerkannten Geheimwaffen ist Deployer. Deployer ist eine PHP-Bibliothek für die automatisierte Anwendungsbereitstellung

See all articles