• Jquery动画方法 jquery.animate()


    目前在学习Oracle数据库,由于刚接触,学校让练习练习HTML内容,就想起了老师以前提起过的animate方法

    animate是jquery的一个方法,这个方法主要功能是能实现比较平滑的动态效果,所以你想做一个简单又不失美观的动态效果不如试试它

    下面总结一下以前常用的幻灯片效果实现用的方法:

      切换:show(time)/hide(time):刚接触Jquery的时候大家应该用的最多的就是这两个方法,我个人觉得这个方法太丑了,一瞬间消失,或者一瞬间出现

      列表滚动:这个多数人会直接使用其css属性做,或者position().left。。。等等方法,也是直接就过去了,总觉得不高大上

      fadein()/fadeOut():朦胧感

      slipeUp/slipedown()...等等

      代码量:以上效果,想要实现,代码量大

      

      下面是我实现的一个幻灯片切换效果:

        包括大图片切换、小图列表突出显示、文字跟随小图跑、

      

      1 <!DOCTYPE html>
      2 <html>
      3   <head>
      4     <base href="<%=basePath%>">
      5     <title>animate实现幻灯片</title>
      6     
      7     <link rel="stylesheet" type="text/css" href="animate.css" />
      8     <script type="text/javascript" src="jquery-1.8.3.js">
      9     </script>
     10         
     11     <script type="text/javascript">
     12         var index=0;
     13         var flag=true;
     14         $(function(){
     15             $(".imgshow li:not(:first)").hide();
     16             $(".text li:not(:first)").hide();
     17             styleMe(".imglist li:eq("+index+")");
     18             change(index);
     19             $(".imgshow").mouseover(function(){
     20                 flag=false;
     21             
     22             });
     23             $(".imgshow").mouseout(function(){
     24                 flag=true;
     25             
     26             });
     27             $(".imglist li").bind({
     28                 mouseout:function(){
     29                     flag=true;
     30                 },mouseover:function(){
     31                     flag=false;
     32                     index=$(this).index();
     33                     
     34                     change(index);
     35                 },click:function(){
     36                     flag=false;
     37                     styleMe($(this));
     38                     index=$(this).index();
     39                     change(index);
     40                 }
     41             
     42             });
     43             
     44                 setInterval(function(){
     45                     
     46                     if(flag){
     47                         index=index+1;
     48                         if(index==5){
     49                             index=0;
     50                         }
     51                         change(index)
     52                     }
     53                     
     54                 
     55                     
     56                 
     57                 
     58                 },4000);
     59             });
     60     //图片切换
     61         function change(index){
     62             //图片
     63             
     64             styleMe(".imglist li:eq("+index+")");
     65             $(".imgshow li:eq("+index+")")
     66             .show().animate({opacity:'0.5'},300).animate({opacity:'1'},500)
     67             .siblings()
     68             .hide();
     69             //文本
     70             var left=$(".imglist li:eq("+index+")").position().left+180;
     71             //alert(left);
     72             if(index==4){
     73                 //200=ul初始位置180px +padding20px;
     74                 //获取有些问题,直接赋值
     75                var width=480;
     76             
     77                 left=left-width;    
     78             }
     79             $(".text").stop(true,true);
     80             $(".text").animate({opacity:'0.7',marginLeft:left},700).animate({opacity:'1'},200);
     81         //    alert("index:"+index+";left:"+left+";"+width);
     82             $(".text li:eq("+index+")")
     83             .show()
     84             .siblings()
     85             .hide();
     86             
     87             
     88             //$(".text").css("margin-left",left);
     89         
     90         
     91         }
     92         function styleMe(doc){
     93             $(doc).stop(true,true);
     94             $(doc).animate({marginTop:'-25px'},200).siblings().animate({marginTop:'0px'},400);
     95             $(doc).addClass("mouse").siblings().removeClass("mouse");
     96         }    
     97     </script>
     98   </head>
     99       
    100   <body>
    101       
    102     <div>
    103         <ul class="imgshow">
    104         <li><img src="img/1.jpg" /></li>
    105         <li><img src="img/2.jpg" /></li>
    106         <li><img src="img/3.jpg" /></li>
    107         <li><img src="img/4.jpg" /></li>
    108         <li><img src="img/5.jpg" /></li>
    109     
    110     </ul>
    111     <ul class="imglist">
    112         <li><img src="img/1.jpg" /></li>
    113         <li><img src="img/2.jpg" /></li>
    114         <li><img src="img/3.jpg" /></li>
    115         <li><img src="img/4.jpg" /></li>
    116         <li><img src="img/5.jpg" /></li>
    117     
    118     </ul>
    119     <ul class="text"> 
    120         <li>电影十二生肖去景点</li>
    121         <li>美国农庄公路</li>
    122         <li>青山碧水</li>
    123         <li>阿尔卑斯山下美丽的山庄</li>
    124         <li>这是小羊肖恩嘛?太可爱了吧,好想拥有一只</li>
    125     
    126     </ul>
    127     
    128     </div>
    129     
    130   </body>
    131 </html>

    css代码:

     1 /*animate*/
     2 *{
     3     margin:0px;
     4     padding:0px;
     5 }
     6 body{
     7     width:100%;
     8 
     9 }
    10 div{
    11 width:1000px;
    12 margin:auto;
    13 }
    14 ul{
    15 width:1000px;
    16 margin:auto;
    17 list-style:none;
    18 
    19 }
    20 .imgshow img{
    21     height:600px;
    22     width:1000px;
    23 
    24 }
    25 .mouse{
    26 /**    border-bottom:30px solid green;**/
    27     background-color:#2F2F2F;
    28 }
    29 .imglist{
    30     top:480px;
    31     margin-left:50px;
    32     z-index:2;
    33     position:absolute;
    34 }
    35 .imglist li{
    36     float:left;
    37     padding:20px 10px;
    38     display:block;
    39 
    40 }
    41 .imglist img{
    42         height:60px;
    43         width:100px;
    44 
    45 
    46 }
    47 .text{
    48     width:auto;
    49     top:430px;
    50     margin-left:180px;
    51     z-index:2;
    52     position:absolute;
    53     
    54 }
    55 .text li{
    56     padding:20px 30px;
    57     background-color:#2F2F2F;
    58     color:#ccc;
    59     font-size:14px;
    60 
    61 }

    效果图:

    总结:

      animate缺点:

        每个动画必须演示完才能结束,这就导致如果频繁去使用这个方法,会导致延迟(实际上不是)

      优点:

        animate支持同一个容器的所有动作可以依次从第一个往下执行,这个特性我最喜欢!

      个别缺点解决办法:

       延迟可以使用document.stop("容器名");

      

      

  • 相关阅读:
    EF性能优化-有人说EF性能低,我想说:EF确实不如ADO.NET
    MiniProfiler工具介绍(监控EF生成的SQL语句)--EF,迷你监控器,哈哈哈
    C# 数据库并发的解决方案(通用版、EF版)
    锁、C#中Monitor和Lock以及区别
    LINQ 如何动态创建 Where 子查询
    C# Npoi 实现Excel与数据库相互导入
    MVC ActionResult派生类关系图
    如何构造树状 JSON 数据 JSON-Tree
    如何构造分层次的 Json 数据
    如何使用 GroupBy 计数-Count()
  • 原文地址:https://www.cnblogs.com/gcs1995/p/4085824.html
Copyright © 2020-2023  润新知