jquery中我们最需要用的除了异步,就是动画和特效了吧,要想给用户更好的体验jquery是最好的选择,就让我们一起来看看jquery的动画、特效的详解吧!
1.显示和隐藏hide()和show()
对于动画来说,显示和隐藏是最基本的效果之一,本节简单介绍jQuery的显示和隐藏。
<script type="text/javascript"> $(function() { $("input:first").click(function() { $("p").hide(); //隐藏 }); $("input:last").click(function() { $("p").show(); //显示 }); }); </script> <input type="button" value="Hide"> <input type="button" value="Show"> <p>点击按钮,看看效果</p> <div><em>本节主要降级和学习jQuery的自动显隐,渐入渐出、飞入飞出。自定义动画等。 1.显示和隐藏hide()和show() 对于动画来说,显示和隐藏是最基本的效果之一,本节简单介绍jQuery的显示和隐藏。</em> </div>
以上是对hide()和show()函数的测试。
2.使用show()、hide()和toggle()方法
上个例子对show()和hide()方法做了简单介绍,其实这两个方法可以接受参数控制显隐藏过程。
语法如下
show(duration,[callback]); hide(duration,[callback]);
其中,duration表示动画执行时间的长短,可以表示速度的字符串,包括slow,normal,fast.也可以是表示时间的整数(毫秒)。callback是可选的回调函数。在动画完成之后执行。
<script type="text/javascript"> $(function() { $("input:first").click(function() { $("p").hide(300); //隐藏 }); $("input:last").click(function() { $("p").show(500); //显示 }); }); </script>
例子和第一个例子相同,只是对hide()和show()增加了时间参数。其实toogle()也可以加入事件参数。
3.使用fadeIn()和fadeOut()方式
对于动画效果显隐,jQuery还提供了fadeIn()个fadeOut这两个实用的方法,他们的动画效果类似褪色,语法与slow()和hide()完全相同。
fadeIn(duration, [callback]); fadeOut(duration, [callback]);
例子
<script type="text/javascript"> $(function() { $("input:eq(0)").click(function() { $("img").fadeOut(3000); //逐渐fadeOut }); $("input:eq(1)").click(function() { $("img").fadeIn(1000); //逐渐fadeIn }); }); </script> <img src="/uploads/allimg/150204/225Q14038-0.jpg"> <input type="button" value="Hide"> <input type="button" value="Show">
fadeTo()方法的使用。
fadeTo() 方法将被选元素的不透明度逐渐地改变为指定的值。
例子:
<script type="text/javascript"> $(function() { $("input:eq(0)").click(function() { $("img").fadeOut(1000); }); $("input:eq(1)").click(function() { $("img").fadeIn(1000); }); $("input:eq(2)").click(function() { $("img").fadeTo(1000, 0.5); }); $("input:eq(3)").click(function() { $("img").fadeTo(1000, 0); }); }); </script> <p><img src="03.jpg"></p> <input type="button" value="FadeOut"> <input type="button" value="FadeIn"> <input type="button" value="FadeTo 0.5"> <input type="button" value="FadeTo 0">
fadeOut相关参数
speed
可选。规定元素从当前透明度到指定透明度的速度。
可能的值:
毫秒 (比如 1500)
"slow"
"normal"
"fast"
opacity 必需。规定要淡入或淡出的透明度。必须是介于 0.00 与 1.00 之间的数字。
callback
可选。fadeTo 函数执行完之后,要执行的函数。
如需学习更多有关 callback 的内容,请访问我们的 jQuery Callback 这一章。
除非设置了 speed 参数,否则不能设置该参数。
4.幻灯片slideUp和slideDown效果
<script type="text/javascript"> $(function() { $("input:eq(0)").click(function() { $("div").add("img").slideUp(1000); }); $("input:eq(1)").click(function() { $("div").add("img").slideDown(1000); }); $("input:eq(2)").click(function() { $("div").add("img").hide(1000); }); $("input:eq(3)").click(function() { $("div").add("img").show(1000); }); }); </script> <input type="button" value="SlideUp"> <input type="button" value="SlideDown"> <input type="button" value="Hide"> <input type="button" value="Show"><br> <div></div><img src="04.jpg">
前面提到了几种动画效果,jQuery还提供了slideUp()和slideDown()来模拟PPT中的类似幻灯片拉帘效果,它与slow()和hide()完全相同。
以上代码定义了一个div和一个img,用add方法组合在一起。
5.自定义动画
考虑到框架的通用性及代码文件的大小,jQuery不能涵盖所有的动画效果,但它提供了animate()方法,能够使开发者自定义动画。本节主要通过介绍animate()方法的两种形式及应用。
animate()方法给开发者很大的空间。它一共有两种形式。第一种形式比较常用。用法如下
animate(params,[duration],[easing],[callback])
其中params为希望进行变幻的css属性列表,以及希望变化到的最终值,duration为可选项,与show()/hide()的参数含义完全相同。easing为可选参数,通常供动画插件使用。 用来控制节奏的变化过程。jQuery中只提供了linear和swing两个值.callback为可选的回调函数。在动画完成后触发。
需要注意。params中的变量遵循camel命名方式。例如paddingLeft不能写成padding-left.另外,params只能是css中用数值表示的属性。例如width.top.opacity等
像backgroundColor这样的属性不被animate支持。
<style> div { background-color: #FFFF00; height: 40px; width: 80px; border: 1px solid #000000; margin-top: 5px; padding: 5px; text-align: center; } </style> <script type="text/javascript"> $(function() { $("button").click(function() { $("#block").animate({ opacity: "0.5", width: "80%", height: "100px", borderWidth: "5px", fontSize: "30px", marginTop: "40px", marginLeft: "20px" }, 2000); }); }); </script> <button id="go">Go>></button> <div id="block">动画!</div>
在params中,jQuery还可以用“+=”或者"-="来表示相对变化。如
<style> div { background-color: #FFFF00; height: 40px; width: 80px; border: 1px solid #000000; margin-top: 5px; padding: 5px; text-align: center; position: absolute; } </style> <script type="text/javascript"> $(function() { $("button:first").click(function() { $("#block").animate({ left: "-=80px" //相对左移 }, 300); }); $("button:last").click(function() { $("#block").animate({ left: "+=80px" //相对右移 }, 300); }); }); </script> <button >Go>></button> <button >Go>></button> <div id="block">动画!</div>
先将div进行绝对定位,然后使用animate()中的-=和+=分别实现相对左移和相对右移。
animate()方法还有另外一种形式,如下所示:
animate(params,options)
其中,params与第一种形式完全相同,options为动画可选参数列表,主要包括duration,esaing,callback,queue等,其中duration.easing.callback与第一种形式完全一样,queue为布尔值,表示当有多个 animate()组成jQuery时,当前animate()紧接这下一个animate(),是按顺序执行(true)还是同时触发false
如下例子,展示了animate()第二种用法。
<style> div { background-color: #FFFF22; width: 100px; text-align: center; border: 2px solid #000000; margin: 3px; font-size: 13px; font-family: Arial, Helvetica, sans-serif; } input { border: 1px solid #000033; } </style> <script type="text/javascript"> $(function() { $("input:eq(0)").click(function() { //第一个animate与第二个animate同时执行,然后再执行第三个 $("#block1").animate({ width: "90%" }, { queue: false, duration: 1500 }) .animate({ fontSize: "24px" }, 1000) .animate({ borderRightWidth: "20px" }, 1000); }); $("input:eq(1)").click(function() { //依次执行三个animate $("#block2").animate({ width: "90%" }, 1500) .animate({ fontSize: "24px" }, 1000) .animate({ borderRightWidth: "20px" }, 1000); }); $("input:eq(2)").click(function() { $("input:eq(0)").click(); $("input:eq(1)").click(); }); $("input:eq(3)").click(function() { //恢复默认设置 $("div").css({ width: "", fontSize: "", borderWidth: "" }); }); }); </script> <input type="button" id="go1" value="Block1动画"> <input type="button" id="go2" value="Block2动画"> <input type="button" id="go3" value="同时动画"> <input type="button" id="go4" value="重置"> <div id="block1">Block1</div> <div id="block2">Block2</div>
以上两个div块同时运用了三个动画效果,其中第一个div快的第一个动画添加了queue:false参数,使得前两项两个动画同时执行。可以通过重置反复测试,熟悉animate()第二种形式。
以上就是本文的全部内容了,希望大家能够喜欢。
相关推荐:
以上是jQuery动画与特效详解的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript框架的强大之处在于简化开发、提升用户体验和应用性能。选择框架时应考虑:1.项目规模和复杂度,2.团队经验,3.生态系统和社区支持。

引言我知道你可能会觉得奇怪,JavaScript、C 和浏览器之间到底有什么关系?它们之间看似毫无关联,但实际上,它们在现代网络开发中扮演着非常重要的角色。今天我们就来深入探讨一下这三者之间的紧密联系。通过这篇文章,你将了解到JavaScript如何在浏览器中运行,C 在浏览器引擎中的作用,以及它们如何共同推动网页的渲染和交互。JavaScript与浏览器的关系我们都知道,JavaScript是前端开发的核心语言,它直接在浏览器中运行,让网页变得生动有趣。你是否曾经想过,为什么JavaScr

Node.js擅长于高效I/O,这在很大程度上要归功于流。 流媒体汇总处理数据,避免内存过载 - 大型文件,网络任务和实时应用程序的理想。将流与打字稿的类型安全结合起来创建POWE

Python和JavaScript在性能和效率方面的差异主要体现在:1)Python作为解释型语言,运行速度较慢,但开发效率高,适合快速原型开发;2)JavaScript在浏览器中受限于单线程,但在Node.js中可利用多线程和异步I/O提升性能,两者在实际项目中各有优势。

JavaScript起源于1995年,由布兰登·艾克创造,实现语言为C语言。1.C语言为JavaScript提供了高性能和系统级编程能力。2.JavaScript的内存管理和性能优化依赖于C语言。3.C语言的跨平台特性帮助JavaScript在不同操作系统上高效运行。

JavaScript在浏览器和Node.js环境中运行,依赖JavaScript引擎解析和执行代码。1)解析阶段生成抽象语法树(AST);2)编译阶段将AST转换为字节码或机器码;3)执行阶段执行编译后的代码。

Python和JavaScript的未来趋势包括:1.Python将巩固在科学计算和AI领域的地位,2.JavaScript将推动Web技术发展,3.跨平台开发将成为热门,4.性能优化将是重点。两者都将继续在各自领域扩展应用场景,并在性能上有更多突破。

Python和JavaScript在开发环境上的选择都很重要。1)Python的开发环境包括PyCharm、JupyterNotebook和Anaconda,适合数据科学和快速原型开发。2)JavaScript的开发环境包括Node.js、VSCode和Webpack,适用于前端和后端开发。根据项目需求选择合适的工具可以提高开发效率和项目成功率。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Linux新版
SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境