百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

jQuery基础教程学习笔记(六)动画特效

qiyuwang 2024-10-30 05:32 18 浏览 0 评论

本节主要讲的是隐藏与显示(hide,show,toggle)、上卷下拉(sildeDown,slideUp,slideToggle)、淡入淡出(fadeOut,fadein,fadeToggle,fadeTo)、自定义动画 (animate,stop)以及其他核心方法的使用!

(1)jquery的隐藏和显示动画

jQuery中隐藏元素的hide方法

$elem.hide() 用来隐藏元素

.hide( options ) 当提供hide方法一个参数时,.hide()就会成为一个动画方法。.hide()方法将会匹配元素的宽度,高度,以及不透明度,同时进行动画操作,快捷参数:.hide("fast / slow")

语法:$(selector).hide(speed,callback)

例:$("button:last").click(function() {

$("#a2").hide({

duration: 3000,

complete: function() {

alert('执行3000ms动画完毕')

}

})

});

或者: $("#btn").click(function() {

$("#right").hide(3000,function(){

alert('执行3000ms动画完毕')

})

})

jQuery中显示元素的show方法

语法:$(selector).show(speed,callback)用法和hide一致!

例:$("button").click(function() {

$("#a1").hide(3000).show(3000)

});

注意:

(1)show与hide方法是修改的display属性,通过visibility属性修改需要通过css方法单独设置

(2)如果样式中使用!important,比如display: none !important,想让.show()方法正常工作,必须使用.css('display', 'block !important')重写样式

(3)如果让show与hide成为一个动画,那么默认执行动画会改变元素的高度,高度,透明度

jQuery中显示与隐藏切换toggle方法

基本的操作:toggle(); 元素的显示与隐藏(display属性)

用法:$(selector).toggle(speed,callback,switch)

也可以直接定位:.toggle(true|false),指定元素的最终效果

例:$("button:first").click(function() {

$(".left").toggle(3000)

});

</script>

(2)上卷下拉效果

jQuery中下拉动画slideDown

slideDown() 方法用于向下滑动元素。

用法:$(selector).slideDown(speed,callback);

可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

可选的 callback 参数是滑动完成后所执行的函数名称。

例:$("button:first").click(function() {

$("#a1").slideDown(3000)

});

jQuery中上卷动画slideUp

slideUp() 方法用于向上滑动元素。

语法:$(selector).slideUp(speed,callback);

可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

可选的 callback 参数是滑动完成后所执行的函数名称。

例: $("button:last").click(function() {

$("#a2").slideUp(3000,function(){

alert('动画执行结束')

})

});

jQuery中上卷下拉切换slideToggle

slideToggle() 方法可以在 slideDown() 与 slideUp() 方法之间进行切换。

用法:$(selector).slideToggle(speed,callback);

例:$("#flip").click(function(){

$("#panel").slideToggle();

});

(3)淡入淡出效果

jQuery中淡出动画fadeOut

fadeOut()方法用于淡出可见元素。

用法:$(selector).fadeOut(speed,callback);

可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

可选的 callback 参数是 fading 完成后所执行的函数名称。

例:$("button").click(function(){

$("#div1").fadeOut();

$("#div2").fadeOut("slow");

$("#div3").fadeOut(3000);

});

jQuery中淡入动画fadeIn

fadeIn() 用于淡入已隐藏的元素。

用法:$(selector).fadeIn(speed,callback);

例:$("button").click(function(){

$("#div1").fadeIn();

$("#div2").fadeIn("slow");

$("#div3").fadeIn(3000);

});

jQuery中淡入淡出切换fadeToggle

fadeToggle() 方法可以在 fadeIn() 与 fadeOut() 方法之间进行切换。

用法:$(selector).fadeToggle(speed,callback);

例:$("button").click(function(){

$("#div1").fadeToggle();

$("#div2").fadeToggle("slow");

$("#div3").fadeToggle(3000);

});

淡入淡出fadeIn与fadeOut都是修改元素样式的opacity属性,但是他们都有个共同的特点,变化的区间要么是0,要么是1,当opacity的值为0时,即隐藏该元素设置为display:none;

jQuery中淡入效果fadeTo

fadeTo() 方法允许渐变为给定的不透明度(值介于 0 与 1 之间)。

$(selector).fadeTo(speed,opacity,callback);

必需的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

fadeTo() 方法中必需的 opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。

可选的 callback 参数是该函数完成后所执行的函数名称。

例:$("button").click(function(){

$("#div1").fadeTo("slow",0.15);

$("#div2").fadeTo("slow",0.4);

$("#div3").fadeTo("slow",0.7);

});

jQuery中toggle与slideToggle以及fadeToggle的比较

(1)toggle:切换显示与隐藏效果

(2)sildeToggle:切换上下拉卷滚效果

(3)fadeToggle:切换淡入淡出效果

toggle与slideToggle细节区别:

(1)toggle:动态效果为从右至左。横向动作,toggle通过display来判断切换所有匹配元素的可见性

(2)slideToggle:动态效果从下至上。竖向动作,slideToggle 通过高度变化来切换所有匹配元素的可见性

fadeToggle方法

(1)fadeToggle() 方法在 fadeIn() 和 fadeOut() 方法之间切换。

(2)元素是淡出显示的,fadeToggle() 会使用淡入效果显示它们。

(3)元素是淡入显示的,fadeToggle() 会使用淡出效果显示它们。

注释:隐藏的元素不会被完全显示(不再影响页面的布局)

(4)自定义动画

jQuery中动画animate

animate() 方法用于创建自定义动画。

$(selector).animate({params},speed,callback);

必需的 params 参数定义形成动画的 CSS 属性,json写法

可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

可选的 callback 参数是动画完成后所执行的函数名称。

例:$("button").click(function(){

$("div").animate({

left:'250px',

opacity:'0.5',

height:'150px',

width:'150px'

});

});

使用 animate()时,必须使用 Camel 标记法书写所有的属性名,比如,必须使用 paddingLeft 而不是 padding-left,使用 marginRight 而不是 margin-right,等等。

animate() - 使用相对值,可以定义相对值(该值相对于元素的当前值)。需要在值的前面加上 += 或 -=:

$("button").click(function(){

$("div").animate({

left:'250px',

height:'+=150px',

width:'+=150px'

});

});

animate() - 使用预定义的值,可以把属性的动画值设置为 "show"、"hide" 或 "toggle":

$("button").click(function(){

$("div").animate({

height:'toggle'

});

});

animate() - 使用队列功能 果您在彼此之后编写多个 animate() 调用,jQuery 会创建包含这些方法调用的“内部”队列。然后逐一运行这些 animate 调用。

$("button").click(function(){

var div=$("div");

div.animate({height:'300px',opacity:'0.4'},"slow");

div.animate({width:'300px',opacity:'0.8'},"slow");

div.animate({height:'100px',opacity:'0.4'},"slow");

div.animate({width:'100px',opacity:'0.8'},"slow");

});

(5)jQuery其他核心方法

jQuery中停止动画stop

stop() 方法用于停止动画或效果,在它们完成之前。stop() 方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。

$(selector).stop(stopAll,goToEnd);

可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。

可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。

因此,默认地,stop() 会清除在被选元素上指定的当前动画。

(1).stop(); 停止当前动画,点击在暂停处继续开始

(2).stop(true); 如果同一元素调用多个动画方法,尚未被执行的动画被放置在元素的效果队列中。这些动画不会开始,直到第一个完成。当调用.stop()的时候,队列中的下一个动画立即开始。如果goToEnd参数提供true值,那么在队列中的动画其余被删除并永远不会运行

(3).stop(true,true); 当前动画将停止,但该元素上的 CSS 属性会被立刻修改成动画的目标值

例:$("#aaron").animate({

height: 300

}, 5000)

$("#aaron").animate({

width: 300

}, 5000)

$("#aaron").animate({

opacity: 0.6

}, 2000)

分析:(1)stop():只会停止第一个动画,第二个第三个继续

(2)stop(true):停止第一个、第二个和第三个动画

(3)stop(true ture):停止动画,直接跳到第一个动画的最终状态

jQuery其他核心知识

each() 方法规定为每个匹配元素规定运行的函数。

语法:$(selector).each(function(index,element))

必需。为每个匹配元素规定运行的函数。index - 选择器的 index 位置element - 当前的元素(也可使用 "this" 选择器)

例: $.each(['属性1', '属性2'], function(i, item) {

$aaron.append("索引=" + i + "; 元素=" + item);

});//结果索引=0; 元素=属性 索引=1; 元素=属性2

jQuery中查找数组中的索引inArray

jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值。如果数组中不存在该值,则返回 -1。

语法:jQuery.inArray( value, array ,[ fromIndex ] )

fromIndex规定查找的起始值,默认数组是0开始

例:$.inArray(5,[1,2,3,4,5,6,7]) //返回对应的索引:4

注意:如果要判断数组中是否存在指定值,你需要通过该函数的返回值不等于(或大于)-1来进行判断

例:var index = $.inArray('a',['a','b','c','d','a','c'],2);

$aaron.text('a的索引是: '+ index)

} //返回4

jQuery中去空格trim方法

jQuery.trim()函数用于去除字符串两端的空白字符,也可以写作$.trim()

例:$("#exec2").click(function() {

alert("值的长度:" + $.trim($("#results2").val()).length)

});

jQuery中DOM元素的获取get方法

如果需要单独操作合集中的的某一个元素,可以通过.get()方法获取到

语法:.get( [index ] )

(1)get方法是获取的dom对象,也就是通过document.getElementById获取的对象

(2)get方法是从0开始索引查找第二个元素可以写作: $(a).get(1)

负索引值参数表示从后往前索引,起始值是-1 例: $(a).get(-2)

eq() 返回的是jquery对象,get()返回的是dom元素,所以$(a).get(1)无法直接通过jquery方法操作,需要通过$($(a).get(1)).css()改变,而$(a).get(1)需要通过$(a).get(1).style.的方式

jQuery中DOM元素的获取index方法

.index()方法,从匹配的元素中搜索给定元素的索引值,从0开始计数。

语法:.index()

.index( selector )

.index( element )

(1)如果不传递任何参数给 .index() 方法,则返回值就是jQuery对象中第一个元素相对于它同辈元素的位置

(2)如果在一组元素上调用 .index() ,并且参数是一个DOM元素或jQuery对象, .index() 返回值就是传入的元素相对于原先集合的位置

(3)如果参数是一个选择器, .index() 返回值就是原先元素相对于选择器匹配元素的位置。如果找不到匹配的元素,则 .index() 返回 -1

有点晕吧,看例子:

<ul>

<a></a>

<li id="test1">1</li>

<li id="test2">2</li>

<li id="test3">3</li>

</ul>

$("li").index() 没有传递参数,反正的结果是1,它的意思是返回同辈的排列循序,第一个li之前有a元素,同辈元素是a开始为0,所以li的开始索引是1

如果要快速找到第二个li在列表中的索引,可以通过如下2种方式处理:

$("li").index(document.getElementById("test2")) //结果:1

$("li").index($("#test2")) //结果:1

学完这些,基本的教程都已经学完,你就可以尝试写一下一些特效了,或者去看一下你之前看不懂的那些jquery特效,你会发现其实好简单!

相关推荐

# 安装打开 ubuntu-22.04.3-LTS 报错 解决方案

#安装打开ubuntu-22.04.3-LTS报错解决方案WslRegisterDistributionfailedwitherror:0x800701bcError:0x80070...

利用阿里云镜像在ubuntu上安装Docker

简介:...

如何将Ubuntu Kylin(优麒麟)19.10系统升级到20.04版本

UbuntuKylin系统使用一段时间后,有新的版本发布,如何将现有的UbuntuKylin系统升级到最新版本?可以通过下面的方法进行升级。1.先查看相关的UbuntuKylin系统版本情况。使...

Ubuntu 16.10内部代号确认为Yakkety Yak

在正式宣布Ubuntu16.04LTS(XenialXerus)的当天,Canonical创始人MarkShuttleworth还非常开心的在个人微博上宣布Ubuntu下个版本16.10的内...

如何在win11的wsl上装ubuntu(怎么在windows上安装ubuntu)

在Windows11的WSL(WindowsSubsystemforLinux)上安装Ubuntu非常简单。以下是详细的步骤:---...

Win11学院:如何在Windows 11上使用WSL安装Ubuntu

IT之家2月18日消息,科技媒体pureinfotech昨日(2月17日)发布博文,介绍了3中简便的方法,让你轻松在Windows11系统中,使用WindowsSubs...

如何查看Linux的IP地址(如何查看Linux的ip地址)

本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。...

怎么看电脑系统?(怎么看电脑系统配置)

要查看电脑的操作系统信息,可以按照以下步骤操作,根据不同的操作系统选择对应的方法:一、Windows系统通过系统属性查看右键点击桌面上的“此电脑”(或“我的电脑”)图标,选择“属性”。在打开的...

如何查询 Linux 内核版本?这些命令一定要会!

Linux内核是操作系统的核心,负责管理硬件资源、调度进程、处理系统调用等关键任务。不同的内核版本可能支持不同的硬件特性、提供新的功能,或者修复了已知的安全漏洞。以下是查询内核版本的几个常见场景:...

深度剖析:Linux下查看系统版本与CPU架构

在Linux系统管理、维护以及软件部署的过程中,精准掌握系统版本和CPU架构是极为关键的基础操作。这些信息不仅有助于我们深入了解系统特性、判断软件兼容性,还能为后续的软件安装、性能优化提供重要依据。接...

504 错误代码解析与应对策略(504错误咋解决)

在互联网的使用过程中,用户偶尔会遭遇各种错误提示,其中504错误代码是较为常见的一种。504错误并非意味着网站被屏蔽,它实际上是指服务器在规定时间内未能从上游服务器获取响应,专业术语称为“Ga...

猎聘APP和官网崩了?回应:正对部分职位整改,临时域名可登录

10月12日,有网友反映猎聘网无法打开,猎聘APP无法登录。截至10月14日,仍有网友不断向猎聘官方微博下反映该情况,而猎聘官方微博未发布相关情况说明,只是在微博内对反映该情况的用户进行回复,“抱歉,...

域名解析的原理是什么?域名解析的流程是怎样的?

域名解析是网站正常运行的关键因素,因此网站管理者了解域名解析的原理和流程对于做好域名管理、解决常见解析问题,保障网站的正常运转十分必要。那么域名解析的原理是什么?域名解析的流程是怎样的?接下来,中科三...

Linux无法解析域名的解决办法(linux 不能解析域名)

如果由于误操作,删除了系统原有的dhcp相关设置就无法正常解析域名。  此时,需要手动修改配置文件:  /etc/resolv.conf  将域名解析服务器手动添加到配置文件中  该文件是DNS域名解...

域名劫持是什么?(域名劫持是什么)

域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标网站的目的。说的直白些,域名劫持,就是把互...

取消回复欢迎 发表评论: