根据 jquery官网api文档编写 https://www.jq22.com/chm/jquery/index.html javascript
1、基本效果css
关于如下属性中的 easing 想要更好的去了解这个属性 https://www.runoob.com/jqueryui/api-easings.html 我想这里会更加清晰明了
html
1.show() 显示隐藏的匹配元素。语法:show([speed,[easing],[fn]])java
speed:三种预约速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)jquery
fn:在动画完成时执行的函数,每一个元素执行一次 (回调函数)。api
2.hide() 显示隐藏的匹配元素。语法:hide([speed,[easing],[fn]])ide
speed:三种预约速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)函数
fn:在动画完成时执行的函数,每一个元素执行一次 (回调函数)。学习
3.toggle() 1.9版本 .toggle() 方法删除,它很实用,若是元素是可见的,切换为隐藏的;若是元素是隐藏的,切换为可见的。
动画
2、滑动效果(与show,hide类似,不一样点是动画效果不一样如下几点都是 )
1.slideDown() 经过高度变化(向下增大)来动态地显示全部匹配的元素,在显示完成后可选地触发一个回调函数。
2.slideUp() 经过高度变化(向上减少)来动态地隐藏全部匹配的元素,在隐藏完成后可选地触发一个回调函数。
3.slideToggle() 经过高度变化来切换全部匹配元素的可见性,并在切换完成后可选地触发一个回调函数。
3、淡入淡出效果(淡入淡出是改变元素的透明度实现隐藏显现不会修改宽高,这是和上面的两种效果的区别)
1.fadeIn() 经过不透明度的变化来实现全部匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数。
2.fadeOut() 经过不透明度的变化来实现全部匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。
3.fadeTo() 把全部匹配元素的不透明度以渐进方式调整到指定的不透明度,并在动画完成后可选地触发一个回调函数
eg:$("img:eq(2)").fadeTo(3000,0.3); // fadeTo()方法 将图片以3000毫秒的时间过渡到0,3的透明度
4.fadeToggle() 经过不透明度的变化来开关全部匹配元素的淡入和淡出效果,并在动画完成后可选地触发一个回调函数。
4、自定义效果(自定义效果至关于集以上效果于一身,能够改变元素的宽高,透明度等属性.....)
1.animate() animate() 方法执行 CSS 属性集的自定义动画。该方法经过CSS样式将元素从一个状态改变为另外一个状态。
CSS属性值是逐渐改变的,这样就能够建立动画效果。只有数字值可建立动画(好比 "margin:30px")。
字符串值没法建立动画(好比 "background-color:red")。
语法以下:
$("button:eq(10)").click(function(){ //animate()方法
$("img:eq(3)").animate({ //让图片经历3秒宽度变成200px 高度变成200px 透明度变成0.5
width:"300px",
height:"200px",
opacity:"0.5",
},3000);
});
2.stop() 中止全部在指定元素上正在运行的动画。若是队列中有等待执行的动画(而且clearQueue没有设为true),他们将被立刻执行
方法 属性: stop([clearQueue],[jumpToEnd])
clearQueue:若是设置成true,则清空队列。能够当即结束动画。
jumpToEnd:若是设置成true,则完成队列。能够当即完成动画。
3.delay() 设置一个延时来推迟执行队列中以后的项目。jQuery 1.4新增。用于将队列中的函数延时执行。他既能够推迟动画队列的执行,也能够用于自定义队列。
4.finish() 中止当前正在运行的动画,删除全部排队的动画,并完成匹配元素全部的动画。 finish()和stop有着类似之处,不一样点在于,stop是中止,stop(true,true)
是结束当前的动画,finish不一样他将会清除该元素上全部的动画,直接到动画完成的最终效果。
6、设置效果
效果的使用关键是如何搭配使用,在何时使用,能够嵌套,能够循环等等。简单的案列执行起来很简单。emmmmmmm最后两张截图原谅我不知道怎么写案列QAQ
我这里根据以上的效果方法写了简单案例以下:
<html> <head> <meta charset="utf-8" /> <title>动画效果</title> <script src="./js/jquery-3.4.1.js" type="text/javascript" charset="utf-8"></script> </head> <style type="text/css"> *{ padding: 0; margin: 0; } img{width: 100px; height: 100px;opacity: ;} </style> <body> <h3>基本效果</h3> <img src="./img/1.jpg" > <button type="button">hide</button> <button type="button">show</button> <button type="button">Toggle</button> <br> <h3>滑动效果</h3> <img src="./img/2.jpg" > <button type="button">slideDown</button> <button type="button">slideUp</button> <button type="button">slideToggle</button> <br> <h3>淡入淡出效果</h3> <img src="./img/3.jpg" > <button type="button">fadeIn</button> <button type="button">fadeOut</button> <button type="button">fadeTo</button> <button type="button">fadeToggle</button> <br> <h3>自定义效果</h3> <img src="./img/4.jpg" > <button type="button">animate</button> <button type="button">stop</button> <button type="button">delay</button> <button type="button">finish</button> <script type="text/javascript"> $(function(){ //基本效果 $("button:eq(0)").click(function(){ $("img:eq(0)").hide("slow") // hide()方法 }); $("button:eq(1)").click(function(){ $("img:eq(0)").show("slow") // show()方法 }); $("button:eq(2)").click(function(){ $("img:eq(0)").toggle("slow") // show()方法 }); //滑动效果 $("button:eq(3)").click(function(){ $("img:eq(1)").slideDown("slow"); //slideDown()方法 }); $("button:eq(4)").click(function(){ $("img:eq(1)").slideUp("slow"); //slideUp()方法 }); $("button:eq(5)").click(function(){ $("img:eq(1)").slideToggle("slow"); //slideToggle()方法 }); // 淡入淡出效果 $("button:eq(6)").click(function(){ $("img:eq(2)").fadeIn(3000); // fadeIn()方法 }); $("button:eq(7)").click(function(){ $("img:eq(2)").fadeOut(3000); // fadeOut()方法 }); $("button:eq(8)").click(function(){ $("img:eq(2)").fadeTo(3000,0.3); // fadeTo()方法 }); $("button:eq(9)").click(function(){ $("img:eq(2)").fadeToggle(3000); // fadeToggle()方法 }); //自定义效果 $("button:eq(10)").click(function(){ //animate()方法 $("img:eq(3)").animate({ //让图片经历3秒 透明度变成0.1 opacity:"0.1", },3000,function(){ $("img:eq(3)").animate({ //让图片经历3秒透明度变成1 opacity:"1", },3000); }); }); $("button:eq(11)").click(function(){ $("img:eq(3)").stop(true,true); //stop()方法,中止改元素上的动画 stop参数可为true,true如stop(true,true) }); $("button:eq(12)").click(function(){ $("img:eq(3)").slideUp(3000).delay(2000).fadeIn(3000) //delay()方法 在执行完slideUp()方法后等待2秒在执行fadeIn()方法 }); $("button:eq(13)").click(function(){ $("img:eq(3)").finish() //finish()方法清除该元素的全部排队的动画 }); }); </script> </body> </html>
效果:
我的学习,内容拙劣,