zoukankan      html  css  js  c++  java
  • 缓动动画添加回调函数

    回调函数原理:

    函数可以作为一个参数。将这个函数作为参数传到另一个函数里面,当那个函数执行完之后,再执行传进去的这个函数,这个过程就叫做回调。

    回调函数写的位置:

    定时器结束的位置。

    效果:

    代码:

     1 <script>
     2             function animate(obj, target, callback){
     3                 clearInterval(obj.timer);
     4                 obj.timer = setInterval(function(){
     5                     //计算步长值
     6                     //把步长值改成整数,不要出现小数问题
     7                     var step = (target - obj.offsetLeft) / 10;
     8                     step = step > 0 ? Math.ceil(step) : Math.floor(step);
     9                     if(obj.offsetLeft == target){
    10                         // 停止动画本质上是停止定时器
    11                         clearInterval(obj.timer);
    12                         if(callback){
    13                             //调用函数
    14                             callback();
    15                         }
    16                     }
    17                     obj.style.left = obj.offsetLeft + step + 'px';
    18                 },10);
    19             }
    20             var div = document.querySelector('div');
    21             var btn1 = document.querySelector('.btn1');
    22             var btn2 = document.querySelector('.btn2');
    23             //调用函数
    24 
    25             btn1.addEventListener('click', function(){
    26                 animate(div, 500);
    27             });
    28             btn2.addEventListener('click', function(){
    29                 animate(div, 800, function(){
    30                     div.style.backgroundColor = 'pink';
    31                 });
    32             });
    33         </script>
  • 相关阅读:
    【xinsir】githook之precommit分享
    node进程一些信号的意义
    ES6篇
    Webpack4篇
    Node篇
    Vuex篇
    WebStorage篇
    HTML5篇
    html5语义化标签大全
    emmet语法
  • 原文地址:https://www.cnblogs.com/cy1227/p/13091838.html
Copyright © 2011-2022 走看看