Maison interface Web js tutoriel 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
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Mécanisme de mise en cache Laravel : accélère le temps de réponse des applications Mécanisme de mise en cache Laravel : accélère le temps de réponse des applications Aug 26, 2023 pm 08:12 PM

Mécanisme de mise en cache Laravel : accélérer le temps de réponse des applications Introduction : À l'ère d'Internet d'aujourd'hui, un temps de réponse rapide des applications est crucial pour l'expérience utilisateur et la réussite de l'entreprise. Afin d'améliorer les performances et la réactivité de l'application, les développeurs doivent adopter certaines stratégies. L’un d’eux consiste à utiliser un mécanisme de mise en cache. En tant que framework PHP populaire, Laravel fournit un puissant mécanisme de mise en cache qui peut nous aider à accélérer le temps de réponse de nos applications. Cet article présentera en détail l'utilisation du mécanisme de mise en cache de Laravel

Comment utiliser la mise en cache dans FastAPI pour accélérer les réponses Comment utiliser la mise en cache dans FastAPI pour accélérer les réponses Jul 28, 2023 pm 08:17 PM

Comment utiliser la mise en cache dans FastAPI pour accélérer les réponses Introduction : Dans le développement Web moderne, les performances sont une préoccupation importante. Si notre application ne peut pas répondre rapidement aux demandes des clients, cela peut entraîner une baisse de l'expérience utilisateur, voire un désabonnement des utilisateurs. L'utilisation du cache est l'une des méthodes courantes pour améliorer les performances des applications Web. Dans cet article, nous explorerons comment utiliser la mise en cache pour accélérer la vitesse de réponse du framework FastAPI et fournirons des exemples de code correspondants. 1. Qu'est-ce que le cache ? Un cache est un cache qui sera consulté fréquemment

Comment utiliser Numba pour accélérer les calculs numériques dans les programmes Python Comment utiliser Numba pour accélérer les calculs numériques dans les programmes Python Aug 02, 2023 pm 05:37 PM

Comment utiliser Numba pour accélérer les calculs numériques des programmes Python Introduction : Python est un langage très flexible et facile à utiliser en matière de calculs numériques. Cependant, Python étant un langage interprété, il s’exécute relativement lentement, en particulier dans les tâches de calcul numérique intensives. Afin d'améliorer les performances des programmes Python, nous pouvons utiliser certains outils et bibliothèques d'optimisation. Numba est une bibliothèque très puissante, qui peut utiliser la compilation juste à temps sans modifier la structure du code Python.

Comment résoudre le problème de la vitesse lente du réseau sur un ordinateur Win7 Comment résoudre le problème de la vitesse lente du réseau sur un ordinateur Win7 Jan 04, 2024 am 09:17 AM

De nombreux amis qui utilisent des ordinateurs du système Win7 constatent que la vitesse d'Internet est extrêmement lente lors de l'utilisation de l'ordinateur. Que se passe-t-il ? Il se peut qu'il y ait certaines restrictions sur le réseau dans vos paramètres réseau. Aujourd'hui, je vais vous apprendre à supprimer les restrictions réseau et à rendre la vitesse du réseau extrêmement rapide. Sélectionnez simplement les paramètres avancés et modifiez la valeur sur "20 MHz". / 40MHzauto" suffit. Jetons un coup d’œil aux tutoriels spécifiques. Méthodes pour améliorer la vitesse du réseau de l'ordinateur Win7 1. L'éditeur prend le système Win7 comme exemple pour illustrer. Cliquez avec le bouton droit sur l'icône « Réseau » sur le côté droit de la barre des tâches du bureau et sélectionnez « Centre Réseau et partage » pour l'ouvrir. . 2. Cliquez sur « Modifier les paramètres de l'adaptateur » dans la nouvelle interface, puis cliquez avec le bouton droit sur « Connexion au réseau local » et sélectionnez « Propriétés » pour ouvrir. 3. À l'air libre "Local

Comment activer l'accélération matérielle Comment activer l'accélération matérielle Feb 18, 2024 pm 01:41 PM

Comment activer l'accélération matérielle Avec le développement de la technologie, l'accélération matérielle est devenue l'un des moyens importants pour améliorer les performances de l'ordinateur. En utilisant l'accélération matérielle, nous pouvons accélérer la vitesse de fonctionnement de l'ordinateur, améliorer les capacités de traitement graphique et rendre l'ordinateur plus efficace et plus stable. Alors, comment activer l’accélération matérielle ? Cet article vous le présentera en détail. Tout d’abord, nous devons clarifier le concept d’accélération matérielle. L'accélération matérielle fait généralement référence à l'utilisation de matériel informatique dédié pour le traitement d'accélération, plutôt que via un logiciel. L'accélération matérielle courante inclut le GPU (unité de traitement graphique) plus

Comment configurer le serveur proxy Nginx pour accélérer le temps de réponse des services web ? Comment configurer le serveur proxy Nginx pour accélérer le temps de réponse des services web ? Sep 05, 2023 pm 03:24 PM

Comment configurer le serveur proxy Nginx pour accélérer le temps de réponse des services web ? Introduction : À l'ère d'Internet d'aujourd'hui, des services Web rapides et réactifs sont essentiels à l'expérience utilisateur. En tant que serveur proxy inverse léger et hautes performances, Nginx peut améliorer efficacement la vitesse de réponse des services Web. Cet article explique comment configurer le serveur proxy Nginx pour accélérer le temps de réponse des services Web et fournit des instructions détaillées avec des exemples de code. Partie 1 : Installer et configurer le serveur proxy Nginx Installez d'abord Nginx

Comment optimiser la vitesse de démarrage dans Win7 Comment optimiser la vitesse de démarrage dans Win7 Dec 26, 2023 pm 01:11 PM

Si le système d'exploitation installé sur notre ordinateur est Win7, alors si certains amis rencontrent un temps de démarrage plus long lors de l'utilisation et souhaitent optimiser leur ordinateur, nous pouvons d'abord essayer d'effectuer les opérations associées sur les paramètres de l'ordinateur, désactiver certains éléments de démarrage. Vous pouvez également utiliser un logiciel d'accélération tiers pour effectuer les optimisations associées. Jetons un coup d'œil aux étapes détaillées pour voir comment l'éditeur a procédé ~ Comment optimiser et accélérer le démarrage de Win7 1. Ne placez pas trop de fichiers et d'icônes sur le bureau de l'ordinateur, ce qui ralentirait la réponse de l'ordinateur. pour installer le logiciel sur le lecteur C. 2. Essayez de définir l'adresse IP sur une adresse IP statique, ce qui peut réduire le temps de démarrage de l'ordinateur et le temps de réflexion après avoir accédé au bureau. 3. Le système actuel occupe également une quantité de mémoire relativement importante. Si nécessaire, ajoutez plus de mémoire.

Comment configurer et utiliser CDN pour l'accélération dans Vue Comment configurer et utiliser CDN pour l'accélération dans Vue Oct 15, 2023 pm 02:31 PM

Comment configurer et utiliser CDN pour l'accélération dans Vue Dans le projet Vue, l'utilisation de CDN (ContentDeliveryNetwork) peut efficacement accélérer le chargement des pages Web et améliorer l'expérience utilisateur. La technologie CDN distribue des fichiers de ressources statiques à des serveurs situés à divers endroits dans le monde, permettant aux utilisateurs d'obtenir rapidement des ressources du serveur le plus proche de l'utilisateur, réduisant ainsi le temps et les retards de transmission des données. Ce qui suit présentera en détail comment configurer et utiliser CDN pour l'accélération dans Vue. Premièrement, nous devons trouver un

See all articles