Comment implémenter une animation avec jQuery ? L'article suivant vous présentera quelques méthodes jQuery pour implémenter des animations prédéfinies ou des animations personnalisées. J'espère qu'il vous sera utile !
Afficher et masquer
La méthode show()
et la méthode hide()
sont les méthodes d'animation les plus basiques dans jQuery. La syntaxe spécifique est la suivante : show()
方法和 hide()
方法是 jQuery 中最基本的动画方法。具体语法如下:
$element.show([speed],[easing],[fn]); $element.hide([speed],[easing],[fn]);
/* 显示与隐藏 1.无动画版本 * show()- 显示 * hide() - 隐藏 2.有动画版本 - 同时改变宽度和高度 * show (speed,callback) * speed - 动画执行的时长,单位为毫秒 * callback - 动画执行完毕后的回调函数 * hide (speed, callback) * speed - 动画执行的时长,单位为毫秒 * callback - 动画执行完毕后的回调函数 */ $('#box').hide(2000,function(){ $('#box').show(2000); });
滑动式动画
slidelUp()
方法和 slideDown()
方法通过改变高度值实现动画效果。具体语法如下:
$element.slideUp([speed],[easing],[fn]); $element.slideDown([speed],[easing],[fn]);
/* 滑动式动画 - slideup()和slideDown() * 注意 - 没有无动画版本(底层代码预定义动画执行的时长) * 效果 - 改变指定元素的高度 */ $('#box').slideUp(3000); $('#box').slideDown(3000);
淡入淡出效果
fadeln()
方法和 fadeOut()
方法通过改变透明度实现动画效果。具体语法如下:
$element.fadeln([speed],[easing],[fn]); $element.fadeOut([speed],[easing],[fn]);
// 改变元素的透明度 $('#box').fadeOut(3000); $('#box').fadeIn(3000);
动画切换效果
jQuery 除了提供了三种预定义动画效果之外,还提供三组动画切换效果:
toggle
([speed], [easing] [, fn] )方法 : 如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。slideToggle
([speed], [easing] [, fn]) 方法 : 通过高度变化来切换所有匹配元素的可见性,并在切换完成后可选地触发一个回调函数。fadeToggle
([speed], [easing] [, fn]) 方法 : 通过不透明度的变化来开关所有匹配元素的淡入和淡出效果,并在动画完成后可选地触发一个回调函数。$('#btn').click(function(){ // $('#box').toggle(3000); // $('#box').slideToggle(3000); $('#box').fadeToggle(3000) })
具有局限性
animate()方法
jQuery 提供了 anirmate()
方法完成自定义动画效果,该方法具有两种用法:
$element.animate(properties,duration,easing,complete)
/* animate()方法–自定义动画方法 1.animate(properties,duration,callback) * properties - 表示cSS的样式属性 * 设置动画执行结束的样式属性值 * duration - 表示动画执行的时长,单位为亳秒 * callback - 表示动画执行完毕后的回调函数 2.animate(properties,options) * properties - 表示cSS的样式属性 * 设置动画执行结束的样式属性值 * options - 表示设置动画的相关参数 * speed - 表示动画执行的时长,单位为毫秒 * comalete - 表示动画执行完毕后的回调函数 * queue - 布尔值,设置是否添加到动画队列中 */ /* $('#box').animate({ width : 100, height : 100 },3000); */ $('#box').animate({ width : 100, height : 100, left : 100 },{ speed : 3000 });
通过 animate()
方法实现动画效果,但不支持以下 CSS 样式属性:
backgroundColor
borderBottonColor.
borderLeftColor
borderRightColor
borderTopColor
Color
outlineColor
并发与排队效果
并发效果 : 指的就是多个动画效果同时执行。
$("#panel").click(function(){ $(this).animate({ left: "500px", height:"200px" }, 3000); };
排队效果 : 指的就是多个动画按照先后顺序执行。
$("#panel").click(function(){ $(this).animate({ left: "500px"},3000) .animate({ height: "200px" }, 3000); });
queue
: 用于控制当前的动画效果是并发还是排队效果:
/* queue - 用于控制当前的动画效果是并发还是排队效果 * 参数 * false - 并发 * true - 排队 */ $('#box').animate({ left : 300 },{ duration : 3000 }).animate({ top : 300 },{ duration : 3000, queue : true });
停止动画效果
jQuery 提供了 stop()
方法用于停止所有在指定元素上正在运行的动画,具体语法如下:
$element.animate([clearQueue][, gotoEnd]);
clearQueue : 如果设置成 true,则清空队列。可以立即结束动画。
gotoEnd : 让当前正在执行的动画立即完成,并且重设 show 和 hide 的原始样式,调用回调函数等
$('#stort').click(function(){ $('#box').animate({ left : 600 },3000).animate({ top : 200 },3000) }); $('#stop').click(function(){ /* * stop()方法没有接收任何参数时 - 立即停止执行动画 * stop(queue)方法的第一个参数 * false - 表示停止当前动画,但队列中的动画继续执行 * true - 表示停止当前动画,并且清空动画队列 * stop (queue,gotoEnd)方法的第二个参数 * false - 不会做任何处理 * true - 表示停止当前动画,并且将指定元素设置为动画执行完毕后的样式 */ $('#box').stop(true,true); });
延迟执行动画
jQuery 提供了 delay()
$element.delay(duration, queueName]);
$('#box').animate({ left : 600 },3000).delay(1000).animate({ top : 200 },3000);
fadeln()
et la méthode fadeOut()
obtiennent des effets d'animation en modifiant la transparence. La syntaxe spécifique est la suivante : 🎜rrreee bascule ([speed], [easing] [, fn] ) : Si l'élément est visible, passez à caché si l'élément est masqué, passez à visible ; Méthode
slideToggle
([speed], [easing] [, fn]) : bascule la visibilité de tous les éléments correspondants en modifiant la hauteur, et éventuellement une fois le changement terminé. Déclencheur une fonction de rappel. fadeToggle
([speed], [easing] [, fn]) Méthode : changez les effets de fondu d'entrée et de sortie de tous les éléments correspondants en modifiant l'opacité, et termine l’animation et déclenche éventuellement une fonction de rappel. anirmate Le ()
complète l'effet d'animation personnalisé. Cette méthode a deux utilisations : 🎜rrreeeanimate()
, mais les attributs de style CSS suivants ne sont pas pris en charge :🎜backgroundColor
borderBottonColor.
borderLeftColor
borderRightColor code>
borderTopColor
Couleur
outlineColor
queue
: Utilisé pour contrôler si l'effet d'animation actuel est simultané ou en file d'attente : 🎜rrreee🎜🎜🎜Arrêter l'effet d'animation🎜🎜🎜🎜jQuery fournit stop()
Le La méthode est utilisée pour arrêter toutes les animations en cours d'exécution sur l'élément spécifié. La syntaxe spécifique est la suivante : 🎜rrreee🎜clearQueue : si elle est définie sur true, la file d'attente est effacée. L'animation peut être terminée immédiatement. 🎜🎜gotoEnd : laissez l'animation en cours d'exécution se terminer immédiatement, réinitialisez les styles d'affichage et de masquage d'origine, appelez les fonctions de rappel, etc. 🎜rrreee🎜🎜🎜Retardez l'exécution de l'animation🎜🎜🎜🎜jQuery fournit delay() permet de définir un délai pour reporter l'exécution des éléments suivants dans la file d'attente. La syntaxe spécifique est la suivante : 🎜rrreee🎜durée : temps de retard, en millisecondes. 🎜🎜queueName : nom de file d'attente, la valeur par défaut est Ex, file d'attente d'animation. 🎜rrreee🎜 Tutoriels vidéo associés recommandés : 🎜Tutoriel vidéo jQuery🎜🎜
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!