Heim > Web-Frontend > js-Tutorial > Hauptteil

Lassen Sie uns darüber sprechen, wie Sie Animationen mit jQuery implementieren (detaillierte Code-Erklärung).

青灯夜游
Freigeben: 2022-01-20 19:40:51
nach vorne
3344 Leute haben es durchsucht

Wie implementiert man Animationen mit jQuery? Der folgende Artikel stellt Ihnen einige jQuery-Methoden zum Implementieren vordefinierter oder benutzerdefinierter Animationen vor. Ich hoffe, er wird Ihnen hilfreich sein!

Lassen Sie uns darüber sprechen, wie Sie Animationen mit jQuery implementieren (detaillierte Code-Erklärung).

Vordefinierte Animationen

Einblenden und ausblenden

Die show()-Methode und die hide()-Methode sind die grundlegendsten Animationsmethoden in jQuery . Die spezifische Syntax lautet wie folgt: show() 方法和 hide() 方法是 jQuery 中最基本的动画方法。具体语法如下:

$element.show([speed],[easing],[fn]);
$element.hide([speed],[easing],[fn]);
Nach dem Login kopieren
  • speed : 三种预定速度之一的字符串 (“slow”、“normal”或者“fast”) 或表示动画时长的毫秒数值。
  • easing : 用来指定切换效果,默认是 “swing”,可用参数 “linear ”。
  • fn : 在动画完成时执行的函数,每个元素执行一次。
/* 
显示与隐藏
1.无动画版本
  * show()- 显示
  * hide() - 隐藏
2.有动画版本 - 同时改变宽度和高度
 * show (speed,callback)
  * speed - 动画执行的时长,单位为毫秒
  * callback - 动画执行完毕后的回调函数
 * hide (speed, callback)
  * speed - 动画执行的时长,单位为毫秒
  * callback - 动画执行完毕后的回调函数
*/

$('#box').hide(2000,function(){
$('#box').show(2000);          
});
Nach dem Login kopieren

滑动式动画

slidelUp() 方法和 slideDown() 方法通过改变高度值实现动画效果。具体语法如下:

$element.slideUp([speed],[easing],[fn]);
$element.slideDown([speed],[easing],[fn]);
Nach dem Login kopieren
  • speed : 三种预定速度之一的字符串 (“slow”、“normal”或者“fast”) 或表示动画时长的毫秒数值。
  • easing : 用来指定切换效果,默认是“swing”,可用参数“linear ”。
  • fn : 在动画完成时执行的函数,每个元素执行一次。
/* 
滑动式动画 - slideup()和slideDown()
* 注意 - 没有无动画版本(底层代码预定义动画执行的时长)
* 效果 - 改变指定元素的高度
*/
$('#box').slideUp(3000);
$('#box').slideDown(3000);
Nach dem Login kopieren

淡入淡出效果

fadeln() 方法和 fadeOut() 方法通过改变透明度实现动画效果。具体语法如下:

$element.fadeln([speed],[easing],[fn]);
$element.fadeOut([speed],[easing],[fn]);
Nach dem Login kopieren
  • speed : 三种预定速度之一的字符串 (“slow”、“normal”或者“fast”) 或表示动画时长的毫秒数值。
  • easing : 用来指定切换效果,默认是“swing”,可用参数“linear ”。
  • fn : 在动画完成时执行的函数,每个元素执行一次。
// 改变元素的透明度
$('#box').fadeOut(3000);
$('#box').fadeIn(3000);
Nach dem Login kopieren

动画切换效果

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)
})
Nach dem Login kopieren

具有局限性

自定义动画

animate()方法

jQuery 提供了 anirmate() 方法完成自定义动画效果,该方法具有两种用法:

$element.animate(properties,duration,easing,complete)
Nach dem Login kopieren
  • properties : 一个CSS属性和值的对象,动画将根据这组对象移动。
  • duration : 一个字符串或者数字决定动画将运行多久。
  • easing : 一个字符串,表示过渡使用哪种缓动函数。
  • cormplete : 在动画完成时执行的回调函数。
/* 
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
});
Nach dem Login kopieren

通过 animate() 方法实现动画效果,但不支持以下 CSS 样式属性:

  • backgroundColor
  • borderBottonColor.
  • borderLeftColor
  • borderRightColor
  • borderTopColor
  • Color
  • outlineColor

并发与排队效果

并发效果 : 指的就是多个动画效果同时执行。

$("#panel").click(function(){
 $(this).animate({
   left: "500px",
   height:"200px"
 }, 3000);
};
Nach dem Login kopieren

排队效果 : 指的就是多个动画按照先后顺序执行。

$("#panel").click(function(){
 $(this).animate({ left: "500px"},3000)
  .animate({ height: "200px" }, 3000);
});
Nach dem Login kopieren

queue : 用于控制当前的动画效果是并发还是排队效果:

/* 
queue - 用于控制当前的动画效果是并发还是排队效果
* 参数
 * false - 并发
 * true - 排队
*/
$('#box').animate({
 left : 300
},{
 duration : 3000
}).animate({
 top : 300
},{
 duration : 3000,
 queue : true
});
Nach dem Login kopieren

停止动画效果

jQuery 提供了 stop() 方法用于停止所有在指定元素上正在运行的动画,具体语法如下:

$element.animate([clearQueue][, gotoEnd]);
Nach dem Login kopieren

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);
});
Nach dem Login kopieren

延迟执行动画

jQuery 提供了 delay()

$element.delay(duration, queueName]);
Nach dem Login kopieren
  • speed: eine Zeichenfolge mit einer von drei vorgegebenen Geschwindigkeiten („langsam“, „normal“ oder „schnell“) oder ein Millisekundenwert, der die Animationsdauer darstellt.
  • Easing: Wird zur Angabe des Schalteffekts verwendet. Der Standardwert ist „Swing“, der verfügbare Parameter ist „Linear“.
  • fn: Funktion, die einmal für jedes Element ausgeführt wird, wenn die Animation abgeschlossen ist.
$('#box').animate({
 left : 600
},3000).delay(1000).animate({
 top : 200
},3000);
Nach dem Login kopieren

Schiebeanimation

slidelUp()-Methode und slideDown()-Methode erzielen Animationseffekte durch Ändern des Höhenwerts. Die spezifische Syntax lautet wie folgt: rrreee

  • speed: eine Zeichenfolge mit einer von drei vorgegebenen Geschwindigkeiten („langsam“, „normal“ oder „schnell“) oder ein Millisekundenwert, der die Animationsdauer darstellt.
  • Easing: Wird zur Angabe des Schalteffekts verwendet. Der Standardwert ist „Swing“, der verfügbare Parameter ist „Linear“.
  • fn: Funktion, die einmal für jedes Element ausgeführt wird, wenn die Animation abgeschlossen ist.
rrreee🎜🎜Fade-Effekt🎜🎜🎜🎜fadenln()-Methode und fadeOut()-Methode erzielen Animationseffekte durch Ändern der Transparenz. Die spezifische Syntax lautet wie folgt: 🎜rrreee
  • speed: eine Zeichenfolge mit einer von drei vorgegebenen Geschwindigkeiten („langsam“, „normal“ oder „schnell“) oder ein Millisekundenwert, der die Animationsdauer darstellt.
  • Easing: Wird zur Angabe des Schalteffekts verwendet. Der Standardwert ist „Swing“, der verfügbare Parameter ist „Linear“.
  • fn: Funktion, die einmal für jedes Element ausgeführt wird, wenn die Animation abgeschlossen ist.
rrreee🎜🎜🎜Animationswechseleffekt🎜🎜🎜🎜JQuery bietet nicht nur drei vordefinierte Animationseffekte, sondern auch drei Sätze von Animationswechseleffekten:🎜
  • toggle ([speed], [easing] [, fn] ) Methode: Wenn das Element sichtbar ist, wechseln Sie zu versteckt; wenn das Element ausgeblendet ist, wechseln Sie zu sichtbar.
  • slideToggle([speed], [easing] [, fn]) Methode: Schaltet die Sichtbarkeit aller übereinstimmenden Elemente durch Ändern der Höhe und optional nach Abschluss des Schalters um eine Callback-Funktion.
  • fadeToggle([speed], [easing] [, fn]) Methode: Schalten Sie die Ein- und Ausblendeffekte aller passenden Elemente durch Änderungen in der Deckkraft um und Vervollständigt die Animation und löst optional eine Rückruffunktion aus.
rrreee🎜🎜hat Einschränkungen🎜🎜

Benutzerdefinierte Animation🎜🎜🎜🎜animate()-Methode🎜🎜🎜🎜jQuery bietet anirmate The () Die Methode vervollständigt den benutzerdefinierten Animationseffekt. Diese Methode hat zwei Verwendungszwecke: 🎜rrreee
  • properties: ein Objekt mit CSS-Eigenschaften und -Werten. Die Animation wird entsprechend diesem Satz von Objekten verschoben.
  • duration: Eine Zeichenfolge oder Zahl, die bestimmt, wie lange die Animation ausgeführt wird.
  • easing: Eine Zeichenfolge, die angibt, welche Beschleunigungsfunktion für den Übergang verwendet werden soll.
  • corplete: Rückruffunktion, die ausgeführt wird, wenn die Animation abgeschlossen ist.
rrreee🎜Animationseffekte werden durch die Methode animate() erreicht, aber die folgenden CSS-Stilattribute werden nicht unterstützt:🎜
    backgroundColor
  • borderBottonColor.
  • borderLeftColor
  • borderRightColor code>
  • borderTopColor
  • Color
  • outlineColor
🎜🎜🎜Parallelität und Warteschlangeneffekte🎜🎜🎜🎜Gleichzeitige Effekte: bezieht sich auf die gleichzeitige Ausführung mehrerer Animationseffekte. 🎜rrreee🎜Warteschlangeneffekt: bezieht sich auf die Ausführung mehrerer Animationen nacheinander. 🎜rrreee🎜queue: Wird verwendet, um zu steuern, ob der aktuelle Animationseffekt gleichzeitig oder in der Warteschlange ist: 🎜rrreee🎜🎜🎜Animationseffekt stoppen🎜🎜🎜🎜jQuery stellt stop() bereit Die Methode wird verwendet, um alle Animationen zu stoppen, die auf dem angegebenen Element ausgeführt werden. Die spezifische Syntax lautet wie folgt: 🎜rrreee🎜clearQueue: Wenn auf true gesetzt, wird die Warteschlange gelöscht. Die Animation kann sofort beendet werden. 🎜🎜gotoEnd: Lassen Sie die aktuell ausgeführte Animation sofort abschließen, setzen Sie die ursprünglichen Ein- und Ausblendstile zurück, rufen Sie Rückruffunktionen auf usw. 🎜rrreee🎜🎜🎜Verzögern Sie die Ausführung der Animation🎜🎜🎜🎜jQuery bietet delay() wird verwendet, um eine Verzögerung festzulegen, um die Ausführung nachfolgender Elemente in der Warteschlange zu verzögern. Die spezifische Syntax lautet wie folgt: 🎜rrreee🎜duration: Verzögerungszeit in Millisekunden. 🎜🎜queueName: Warteschlangensubstantiv, der Standardwert ist Ex, Animationswarteschlange. 🎜rrreee🎜 Empfohlene verwandte Video-Tutorials: 🎜jQuery-Video-Tutorial🎜🎜

Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Sie Animationen mit jQuery implementieren (detaillierte Code-Erklärung).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!