jQuery学习笔录6(动画)

25 篇文章 0 订阅
23 篇文章 0 订阅

在这里介绍几个jquery动画的应用

show() & hide()

一秒=1000毫秒

show(1000),hide(1000)

他俩一组合就是1秒钟show,一秒钟隐藏

eg:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <script src="../scriptJquery/jquery-1.3.2.min.js"></script>
    <style>
        #img1
        {
            display:block;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <input type="button" id="btn" value="click" />
    <img src="../image/iphone.jpg"  id="img1"/>
    </div>
    </form>
</body>
</html>
<script>
    //$("#img1").show(6000);//一秒=1000毫秒
    $("#btn").toggle(function(){
        console.info("1")
        $("#img1").hide(3000);
        },function(){
        console.info("2")
        $("#img1").show(1000);
    });    
</script>
fadeln() & fadeOut()

这2个方法只改变元素的不透明度。

fadeOut()方法会在指定的一段时间内降低元素的不透明度,直到元素完全消失。

fadeIn()方法则相反。

有些时候只想让内容变为“透明”,而不想改变其高度和宽度,就可以使用fadeOut().fadeOut:图片or文字消失

 $("#btn").toggle(function(){
    $("#img1").fadeOut();
 },function(){
    $("#img1").fadeIn();
 })

slideUp() & slideDown()

--只改变元素的高度

当一个元素display属性是none,调用sildeDown()方法,这个元素由上至下延伸显示;

sildeUp()方法正好相反,由下至上缩短隐藏。

    $("#btn").toggle(function(){
        $("#img1").slideUp(1000);
    },function(){
        $("#img1").slideDown(1000);//sildeDown("slow"):slow=0.6s,normal=0.4s,fast=0.2s
    })

1 自定义动画方法 animate()

animate(params [,speed] [,callback]);

params:{property1:"value1",property:"value2"}。

speed:速度。

callback:在动画完成时执行的函数。

$("#p1").animate({left:"500px"},3000);//在3秒内 向右移动500px

2 累加、累减

 $("#p1").animate({left:"+=500px"},3000);//在3秒内 向右移动500px,再移动500px

3 多重动画

1)$("#p1").animate({left:"+=500px",height:"200px"},3000); --向右滑动,同时panel增高

2)$("#p1").animate({left:"+=500px"},3000); --先滑动
     $("#p1").animate({height:"200px"},3000); --后增高

3)综合例子:单击panel元素,1 右移动同时增大高度,并将他的不透明度从50%变到100% 2 再让他从上到下移动同时增大宽度,3最后 以淡出方式隐藏

  $("#p1").css("opacity","0.5");//设置不透明度
  $("#p1").click(function(){
    $(this).animate({left:"500px",height:"500px",opacity:"1"},3000)
    .animate({top:"200px",width:"20px"},2000).fadeOut("slow");
  });
 

如果在最后要把panel的样式做更改的话,css("border","5px solid blue"),样式从执行动画时就被执行了

但是呢,如果我们就是想更改CSS样式,而不是改变元素的不透明度。那么可以将CSS样式写在回调函数中~~~

 $("#p1").css("opacity","0.5");//设置不透明度
  $("#p1").click(function(){
    $(this).animate({left:"500px",height:"500px",opacity:"1"},3000)
    .animate({top:"200px",width:"20px"},2000,function(){$(this).css("border","5px solid blue");});//回调函数。  $("#p1").slideDown(1000)
    //加this :$(this).function(){$(this).css("border","5px solid blue");});  //报错
    //提示错误 missing) after argument list.修改:加上click 事件,click响应function
    //$(this).click(function(){$(this).css("border","5px solid blue");}))  //正确的
  });
五 停止动画和判断是否处于动画状态

停止动画 : stop()

❀ 鉴于之后的例子中有hover() ,因此这里特别把hover提出来,说说。骂人

hover(over,out)一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。    

当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。而且,会伴随着对鼠标是否仍然处在特定元素中的检测(例如,处在div中的图像),如果是,则会继续保持“悬停”状态,而不触发移出事件(修正了使用mouseout事件的一个常见错误)。

参数 :
over (Function)
: 鼠标移到元素上要触发的函数
out (Function): 鼠标移出元素要触发的函数

示例 :
鼠标悬停的panel上 打出1 or 2.

jQuery 代码:

$("#p1").hover(
  function () {
    console.info(1);
  },
  function () {
    console.info(2)
  }
);

❀ stop()

1 语法结构 stop([clearQueue] [,gotoEnd])

这2个参数皆为可选参数,值为Boolean类型。

clearQueue :规定是否停止被选元素的所有加入队列的动画。

gotoEnd :规定是否允许完成当前的动画。该参数只能在设置了 stopAll 参数时使用。

  $("#p1").hover(function(){
    $(this).stop(true).animate({height:"150px"},200)
                    .animate({width:"300px"},300);
  },function(){
   $(this).stop(true).animate({height:"40"},300)
                   .animate({width:"60"},300);
  })


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值