JQuery实现动画效果

转载 2016年05月31日 14:55:18

本文介绍了一些关于JQuery实现动画效果的语法和案例


jQuery 动画 - animate() 方法

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

语法:

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

必需的 params 参数定义形成动画的 CSS 属性。

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

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

下面的例子演示 animate() 方法的简单应用;它把 <div> 元素移动到左边,直到 left 属性等于 250 像素为止:

实例

$("button").click(function(){
  $("div").animate({left:'250px'});
});

提示:默认地,所有 HTML 元素都有一个静态位置,且无法移动。

如需对位置进行操作,要记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute!

jQuery animate() - 操作多个属性

请注意,生成动画的过程中可同时使用多个属性:

实例

$("button").click(function(){
  $("div").animate({
    left:'250px',
    opacity:'0.5',
    height:'150px',
    width:'150px'
  });
}); 

提示:可以用 animate() 方法来操作所有 CSS 属性吗?

是的,几乎可以!不过,需要记住一件重要的事情:当使用 animate() 时,必须使用 Camel 标记法书写所有的属性名,比如,必须使用 paddingLeft 而不是 padding-left,使用 marginRight 而不是 margin-right,等等。

同时,色彩动画并不包含在核心 jQuery 库中。

如果需要生成颜色动画,您需要从 jQuery.com 下载 Color Animations 插件。

jquery的animate方法可以自定义动画,但是,只能针对数字类型的属性,如大小,高度,透明度等。

对于非数字类型如颜色,则不支持动画。所以,需要自行处理。

jqueryui 中增加个这个支持,可以供我们使用。

如果,只是需要颜色动画,可以不必要加载所有的jqueryui 文件。只需要它的一部分。

有高人将其独立出来了。

jquery.colorAnimations.js

<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="jquery.colorAnimations.js"></script>
<div> <a href="javascript:void(0);" id="button">点击这里</a></div>
<textarea  name="detail" cols="60" rows="5" id="detail"></textarea>
<script type="text/javascript">
$("#button").click(
function(){
    flash(2,200);
}
);
function flash(total,speed)
{
    total --;
    if(total >= 0  )
    {
         $("#detail").animate({backgroundColor: "rgb(250,128,114)" }, speed,
            function(){
                $("#detail").animate({backgroundColor: "rgb(255,255,255)" }, speed,function(){flash(total,speed);});
            }
        );
    }
}
</script>

jQuery animate() - 使用相对值

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

实例

$("button").click(function(){
  $("div").animate({
    left:'250px',
    height:'+=150px',
    width:'+=150px'
  });
});

jQuery animate() - 使用预定义的值

您甚至可以把属性的动画值设置为 "show"、"hide" 或 "toggle":

实例

$("button").click(function(){
  $("div").animate({
    height:'toggle'
  });
});

jQuery animate() - 使用队列功能

默认地,jQuery 提供针对动画的队列功能。

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

实例 1

隐藏,如果您希望在彼此之后执行不同的动画,那么我们要利用队列功能:

$("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");
});


相关文章推荐

CSS3 animation--仿写炫酷的下拉菜单

1.原文地址:15款手机端打开菜单动画过渡特效DEMO15 2.下面我们就仿着他的源码自己尝试写一下。不得不说由于是在移动端,这样的效果 确实是狂酷耍帅吊炸天的漂亮!...

使用CSS3实现60FPS动画

使用动画在移动应用程序中很容易的。如果您遵循我们的建议,移动应用程序中使用动画变得很简单。 虽然现在很多人在移动应用程序中使用CSS3 Animation来制作动画,当然很多人也不这么做。很多最佳实...
  • yeana1
  • yeana1
  • 2016年08月17日 16:11
  • 919

jquery实现动画效果

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> http://www.w3.org/1999/xhtml"> 动画效果 ...

23、使用jQuery实现动画效果(原理:改变CSS)

一、设置显隐动态效果 CSS支持两种方法显示或隐藏元素,即使用visibility或display属性方法,它们控制元素显示或 隐藏的效果相同,但是结果不同。 1、visibility 属性在隐...

名企动态网站开发--jQuery实现flash动画效果

js(jquery)动态网站开发,广告轮播效果

CSS、jQuery实现放大缩小动画效果

因为需求就只有4个元素。如果是要用CSS的class来处理,那就需要用到CSS3动画了,介绍下如何实现这个放大缩小动画效果。 代码: CSS+jQuery动画效果-www.jbx...

jquery实现隐藏显示层动画效果、仿新浪字符动态输入、tab效果

已经有两年多没登陆csdn账号了,中间做了些旁的事,可是现在却还是回归程序,但改做前端了,虽然很多东西都已忘得差不多了,但还是应该摆正心态,慢慢来,在前端漫游,做一只快乐双鱼。 路是一步一步...

jquery实现新闻漂亮的动画展示效果

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> http://www.w3.org/1999/xhtml"> jQuer...

jquery插件实现导航栏动画效果

给导航增加动画效果,可以让网页看起来更加友好 需要引用三个插件: js/jquery-1.2.6.min.js js/jquery.kwicks-1.5.1.pack.js js/jquery.eas...

trick:CSS 3+checkbox实现JQuery的6个基本动画效果

在JQuery中,有六个基本动画函数:show()/hide()、fadeIn()/fadeOut()、slideUp()/slideDown()。这篇文章,就利用CSS3+checkbox实现这六个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JQuery实现动画效果
举报原因:
原因补充:

(最多只允许输入30个字)