【学习笔记】jQuery中的动画与效果
1.基本效果
匹配元素从左上角开始变浓变大或缩小到左上角变淡变小
①隐藏元素
除了可以设置匹配元素的display:none外,可以用以下函数
hide(speed,[callback]) 返回值:jQuery 参数-speed:三种预订速度之一的字符串String(slow,normal,fast)或表示动画时长的毫秒数Number callback:在完成动画时执行的函数,每个匹配元素执行一次
slow=600毫秒 normal=400毫秒 fast=200毫秒
以优雅的动画隐藏所有匹配的元素,并在隐藏完成后可选的触发一个回调函数。
②显示元素
show(speed,[callback]) 以优雅的动画显示所有匹配的元素,并在显示完成后可选的触发一个回调函数。
③交替显示隐藏
toggle(speed,[callback]) 以优雅的动画切换匹配元素的可见状态,原来可见切换为不可见,原来不可见切换为可见。
<input type="button" id="hide1" value="hide()" />
<input type="button" id="show1" value="show()" />
<input type="button" id="toggle1" value="toggle()" />
<div id="1" style="width:100px; height:100px; "></div>
$(function(){
$("#hide1").click(function(){$("#1").hide(700)});
$("#show1").click(function(){$("#1").show(700)});
$("#toggle1").click(function(){$("#1").toggle(700)});
})
2.滑动效果
①向上收缩效果
slideUp(speed,[callback]) 通过高度的变化方式向上隐藏元素,并在隐藏完成后可选的触发一个回调函数。
②向下展开效果
slideDown(speed,[callback]) 通过高度的变化方式向下显示元素,并在显示完成后可选的触发一个回调函数。
③交替伸缩效果
slideToggle(speed,[callback]) 切换匹配元素的高度的方式来改变可见状态,原来可见切换为不可见,原来不可见切换为可见。
$("#slideup1").click(function(){$("#1").slideUp(700)});
$("#slidedown2").click(function(){$("#1").slideDown(700)});
$("#slidetoggle").click(function(){$("#1").slideToggle(700)});
3.淡入淡出效果
通过控制匹配元素的不透明度来实现元素的显示与隐藏
①淡入效果
fadeIn(speed,[callback]) 通过不透明度的变化逐渐将匹配元素显现出来
$("#fadein").click(function(){$("#1").fadeIn("slow")});
②淡出效果
fadeOut(speed,[callback]) 通过不透明度的变化逐渐将匹配元素隐藏起来
③自定义不透明度
淡入或淡出的最终结果为自定义的透明度
fadeTo(speed,opacity,[callback]) opacity的值域是0~1之间
4.自定义动画效果
①自定义动画
animate(params,duration,[easing],[callback]) 返回值:jQuery 参数-params:一个包含类似CSS样式设置的json对象,该对象决定了匹配元素要变成什么样子,如:{height:"100%",width:"70%",fontSize:"4em",color:"white"}但这些样式属性的名字与CSS的命名不同,它们使用骆驼命名法如fontSize 而在CSS中是font-size duration:类似于前面几个函数的speed参数,表示匹配元素从开始变化到最终结束变化的时长,其值的设置也一样String,Number easing:这个不太明白,要使用的擦除效果的名称(需要插件支持),默认jQuery提供linear和swing|String callback:和前面一样
这个函数可不像看上去那么简单,有几点需注意1.既然该函数是将匹配元素从原来样子变化成函数中params参数中设置的样子,那么就必须有原来的样子,即params中设置的样式属性必须在原来的样子中有设置过,不能本来没有设置border,却在params中这样设置{borderStyle:"solid",borderWidth:"1px"} 2.就是前面提到过的样式属性的骆驼命名法 3.有些样式属性animate是不支持的,即便你在原来的样子里有设置过,比如background-color,在params中不能想当然的就设置了backgroundColor样式属性。 http://www.stylejar.com/tag/jquery
<div id="3" style="width:200px; height:300px; border:solid 1px; position:absolute; left:-180px;">
用户名:<input type="text" /><br />
密码:<input type="password" /></div>
$(function(){
$("#3").mouseover(function(){$(this).stop().animate({left:"0px"})
}).mouseout(function(){$(this).stop().animate({left:"-180px"},3000)})
})
http://blog.sina.com.cn/s/blog_6168f0090100el4p.html
以上实现了我们经常在网页上见的滑动框的效果,一开始框在浏览器左侧露出20px,当鼠标滑到上面时框全部露出,鼠标滑出框时框又只露出20px, 我们看到params中的样式属性都出现在了"原来的样子中-style属性中"。另外对于位置变化的动画效果,要先给元素定位,如本处的position:absolute。这个例子中另外一个需要注意的是stop()函数:停止所有在指定元素上正在运行的动画。http://www.w3school.com.cn/jquery/effect_stop.asp
$("#3").mouseover(function(){$(this).stop().animate({height:"toggle","width:"toggle"})})
如上样式属性值设成toggle的话表示在有和无之间进行切换
②jQuery动画队列
把针对某个匹配元素的多个动画操作放入一个队列中进行管理,这是默认设置,这样队列中的动画会按先后顺序一个一个执行
如果不希望某个动画按顺序执行,而是希望它最先执行,可以如下设置animate()函数,这是animate函数的有一种写法,它将除parmas以外的参数也用一个json对象来表示
$("#id").animate(parmas,{queue:false,duration:1000}).animate(parmas,{queue:false,duration:1000})
以上俩动画会同时执行,总耗时1秒,而
$("#id").animate(parmas,{duration:1000}).animate(parmas,{duration:1000})
这俩动画会一个一个执行,总耗时2秒
以上所讲的所有动画函数均属于动画队列函数
http://hi.baidu.com/chougood/blog/item/350421338b4156f31a4cff11.html
它们可以被队列控制函数所控制http://www.w3school.com.cn/jquery/jquery_ref_queue.asp
当然队列控制函数不仅仅只能控制动画队列函数,也能控制其他普通函数
如队列控制函数queue()函数
http://shawphy.com/2009/04/how-to-use-queue-and-dequeue.html
http://mrthink.net/jqueryapi-queue-dequeue/
补:
delay(duration,[queueName]) http://shawphy.com/2010/11/jquery-delay.html
【学习笔记】jQuery中的动画与效果的更多相关文章
- jQuery中的动画与效果
1.基本效果 匹配元素从左上角开始变浓变大或缩小到左上角变淡变小 ①隐藏元素 除了可以设置匹配元素的display:none外,可以用以下函数 hide(speed,[callback]) 返回值: ...
- JavaWeb学习笔记——jquery中的dom操作
jquery中的dom操作 废话不说:直接上例子: 1.添加节点-html页面 Append:向每个匹配的元素内部追加内容. <body> <ul id="city& ...
- [学习笔记]jQuery实现一些动画效果的方法
jQuery实现效果的方法 1,隐藏和显示:hide(),show(),toggle() // [ˈtɑ:gl]切换 语法: $(selector).hide(speed,callback); $( ...
- AJAX学习笔记——jQuery中的AJAX
用jQuery实现Ajax jQuery.ajax([settings]) 1.type:类型, "POST"或"GET" ,默认为"GET" ...
- jQuery学习笔记(四)jQuery中的动画
目录 show()方法和hide()方法 fideIn()方法和fadeOut()方法 slideUp方法和slideDown()方法 自定义动画方法animate toogle(),slideTog ...
- 锋利的jQuery读书笔记---jQuery中动画
jQuery中的动画: 1.show和hide 2.fadeIn和fadeOut 3.slideUp和slideDown <!DOCTYPE html> <html> < ...
- jQuery笔记(四)jQuery中的动画
jQuery最吸引人的地方莫过于能做出绚丽的动画了,也是能极大提高用户体验的地方,这次我们就来一探jQuery中的动画! 一. show()方法和hide()方法 show()方法与hide()方法是 ...
- Flutter学习笔记(37)--动画曲线Curves 效果
如需转载,请注明出处:Flutter学习笔记(37)--动画曲线Curves 效果
- 学习使用 jQuery & CSS3 制作照片堆栈效果
在这个小实验中,我们使用 jQuery & CSS3 创建了一个交互式的照片堆栈效果.提供了一些模拟现实的互动的可能性给用户.这个想法的思路是:有一些照片在桌面上可以拖放一样,堆放和删除,每个 ...
随机推荐
- List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac
List多个字段标识过滤 class Program{ public static void Main(string[] args) { List<T> list = new List& ...
- 使用SplashScreenManager控件定制程序加载页面
需要devexpress版本在12.0及以上才支持 https://www.cnblogs.com/wuhuacong/p/6112461.html 在DevExpress程序中使用SplashScr ...
- InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings In
InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is s ...
- Latex算法伪代码使用总结
Latex伪代码使用总结 algorithmicx例子 相应代码: \documentclass[11pt]{ctexart} \usepackage[top=2cm, bottom=2cm, lef ...
- Latex 转 word 技法大全
Latex 转 word 技法大全 在稿件接收后,经常会遇到出版社要求变更稿件格式,其中最多的是latex变为word格式.如果手工操作,是非常麻烦的,还容易出错.如果钱多得花不了,可以让出版社找人去 ...
- wavwrite注意事项
前几天群里有人提出一个问题:MATLAB里,同样频率的信号写入/读取,为什么频率感觉不同? 测试code: fs = 2000; f0 = 20; t = 0:1/fs:1; subplot 211 ...
- Lerp和SmoothDamp比较
Lerp更像是线性衰减,而SmoothDamp像是弧形衰减,两者都是由快而慢 其中SmoothDamp多用于相机跟随.但如果其他类型的插值,我个人觉的其实都差不多 SmoothDamp: transf ...
- 【Android】20.3 拍照和视频录制
分类:C#.Android.VS2015: 创建日期:2016-03-13 一.简介 Android提供的Camera有两个典型的版本,一个是在Android 5.0以前提供的,称为Camera:另一 ...
- 黑客编程教程(三)Windows 网络协议
首先介绍一下网络协议:网络协议是网络上所有设备之间通信规则的集合,他定义了通信时信息必须采用的格式和这些格式的意义.大多数 网络协议都采用分层体系结,每一层都建立在他的下层之上,向他的上一层提供服务, ...
- What’s a service mesh? And why do I need one?
https://buoyant.io/2017/04/25/whats-a-service-mesh-and-why-do-i-need-one/ Update 2018-02-06: Since t ...