案例锦集

本文介绍如何使用定时器setInterval实现匀速和变速动画函数,通过具体实例讲解了动画函数的设计原理。并详细阐述了旋转木马动画的实现思路,包括页面加载时图片的初始位置设置,鼠标交互时按钮的显示与隐藏,以及点击按钮时图片移动的动画效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先引入匀速动画函数变速动画函数
      例如,点击按钮让元素移动到指定的位置。这里就要用到动画函数。动画函数里面需要用到定时器serInterval(要执行的函数,间隔时间)。
       匀速动画函数

 function animation(element,target){//要移动的元素和终点
            clearInterval(element.timeId);//上来先清除定时器--如果不清除,多点几下移动的按钮,移动速度会加快
            var current = element.offsetLeft; //获取元素此时的距离左边的位置
            var step = 10; //因为是匀速动画函数,所以规定每次移动的距离 
            step = (target-current)>0?step:-step;
            element.timeId = setInterval(function(){
                //目的是如果到目标的距离小于移动的步数,就移动剩下的距离就好,不用移动指定的步数
                if(Math.abs(target-current)>Math.abs(step)){ 
                    current+=step;
                    element.style.left = current + "px";
                }else{
                    element.style.left = target + "px";
                    clearInterval(element.timeId);

                }
            },20);
 }

       变速动画函数

 function animation(element,target){//要移动的元素和终点
            clearInterval(element.timeId);//上来先清除定时器--如果不清除,多点几下移动的按钮,移动速度会加快
            var current = element.offsetLeft; //获取元素此时的距离左边的位置
            element.timeId = setInterval(function(){
                    var step = (target-current)/10; //变速动画函数,距离越大,移动的越多 
                    step = step>0?Math.ceil(step):Math.floor(step);//移动的步数是整数比较好
                    console.log(step);
                    current+=step;
                    element.style.left = current + "px";
                    if(target==current){
                        clearInterval(element.timeId);
                    }
            },20);
 }
1. 旋转木马

  思路:
      ① 页面加载时,各个图片移动到各自的位置。
      ② 鼠标经过时,左右按钮出现。离开时隐藏。
      ③ 点击按钮,各个图片分别移动到相应的位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值