• js中期轮播事件


    js轮播插件

      // Tween算法
      var Tween = {
        // t:当前步数
        // b:初始位置
        // c:总距离
        // d:总步数
        // Linear:匀速
      Linear: function(t,b,c,d){ return c*t/d + b; },
        // 平方缓动动画
        Quad: {
          // 加速
          easeIn: function(t,b,c,d){
            return c*(t/=d)*t + b;
          },
          // 减速
          easeOut: function(t,b,c,d){
            return -c *(t/=d)*(t-2) + b;
          },
          // 现加速后减速
          easeInOut: function(t,b,c,d){
            if ((t/=d/2) < 1) return c/2*t*t + b;
            return -c/2 * ((--t)*(t-2) - 1) + b;
          }
        },
      // 三次方缓动动画
      Cubic: {
        easeIn: function(t,b,c,d){
          return c*(t/=d)*t*t + b;
        },
        easeOut: function(t,b,c,d){
          return c*((t=t/d-1)*t*t + 1) + b;
        },
        easeInOut: function(t,b,c,d){
          if ((t/=d/2) < 1) return c/2*t*t*t + b;
          return c/2*((t-=2)*t*t + 2) + b;
        }
      },
      // 四次方缓动动画
      Quart: {
        easeIn: function(t,b,c,d){
          return c*(t/=d)*t*t*t + b;
        },
        easeOut: function(t,b,c,d){
          return -c * ((t=t/d-1)*t*t*t - 1) + b;
        },
        easeInOut: function(t,b,c,d){
          if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
          return -c/2 * ((t-=2)*t*t*t - 2) + b;
        }
      },
      // 五次方缓动动画
      Quint: {
        easeIn: function(t,b,c,d){
          return c*(t/=d)*t*t*t*t + b;
        },
        easeOut: function(t,b,c,d){
          return c*((t=t/d-1)*t*t*t*t + 1) + b;
        },
        easeInOut: function(t,b,c,d){
          if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
          return c/2*((t-=2)*t*t*t*t + 2) + b;
        }
      },
      // 正弦缓动动画
      Sine: {
        easeIn: function(t,b,c,d){
          return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
        },
        easeOut: function(t,b,c,d){
          return c * Math.sin(t/d * (Math.PI/2)) + b;
        },
        easeInOut: function(t,b,c,d){
          return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
        }
      },
      // 指数缓动动画
      Expo: {
        easeIn: function(t,b,c,d){
          return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
        },
        easeOut: function(t,b,c,d){
          return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
        },
        easeInOut: function(t,b,c,d){
          if (t==0) return b;
          if (t==d) return b+c;
          if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
          return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
        }
       },
      // 圆形缓动动画
      Circ: {
          easeIn: function(t,b,c,d){
            return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
          },
          easeOut: function(t,b,c,d){
            return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
          },
          easeInOut: function(t,b,c,d){
            if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
            return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
          }
        },
      // 指数衰减
      Elastic: {
        easeIn: function(t,b,c,d,a,p){
          if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
          if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
          else var s = p/(2*Math.PI) * Math.asin (c/a);
          return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
        },
        easeOut: function(t,b,c,d,a,p){
          if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
          if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
          else var s = p/(2*Math.PI) * Math.asin (c/a);
          return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);
        },
        easeInOut: function(t,b,c,d,a,p){
        if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
        if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
        else var s = p/(2*Math.PI) * Math.asin (c/a);
        if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
        return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
        }
      },
      // 超出范围的三次方缓动动画
      Back: {
        easeIn: function(t,b,c,d,s){
          if (s == undefined) s = 1.70158;
          return c*(t/=d)*t*((s+1)*t - s) + b;
        },
        easeOut: function(t,b,c,d,s){
          if (s == undefined) s = 1.70158;
          return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
        },
        easeInOut: function(t,b,c,d,s){
          if (s == undefined) s = 1.70158;
          if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
          return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
        }
      },
      // 反弹
      Bounce: {
        easeIn: function(t,b,c,d){
          return c - Tween.Bounce.easeOut(d-t, 0, c, d) + b;
        },
        easeOut: function(t,b,c,d){
          if ((t/=d) < (1/2.75)) {
          return c*(7.5625*t*t) + b;
          } else if (t < (2/2.75)) {
          return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
          } else if (t < (2.5/2.75)) {
          return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
          } else {
          return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
          }
        },
          easeInOut: function(t,b,c,d){
            if (t < d/2) return Tween.Bounce.easeIn(t*2, 0, c, d) * .5 + b;
            else return Tween.Bounce.easeOut(t*2-d, 0, c, d) * .5 + c*.5 + b;
          }
        }
      };

  • 相关阅读:
    蓝桥杯 奇怪的比赛
    历届试题 古堡算式
    PAT 甲级 1040 Longest Symmetric String (25 分)(字符串最长对称字串,遍历)
    PAT 甲级 1039 Course List for Student (25 分)(字符串哈希,优先队列,没想到是哈希)*...
    PAT 甲级 1038 Recover the Smallest Number (30 分)(思维题,贪心)
    PAT 甲级 1037 Magic Coupon (25 分) (较简单,贪心)
    那不是Bug,是新需求
    看看C# 6.0中那些语法糖都干了些什么(上篇)
    eclipse工具的使用心得
    送给那些刚进公司工作滴童鞋
  • 原文地址:https://www.cnblogs.com/diwangkaige/p/10038176.html
Copyright © 2020-2023  润新知