iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >javascript实现匀速动画效果
  • 609
分享到

javascript实现匀速动画效果

2024-04-02 19:04:59 609人浏览 八月长安
摘要

本文实例为大家分享了javascript实现匀速动画的具体代码,供大家参考,具体内容如下 实现思路: 1、主要使用定时函数setInterval()来实现动画效果 2、可以将动画封装

本文实例为大家分享了javascript实现匀速动画的具体代码,供大家参考,具体内容如下

实现思路:

1、主要使用定时函数setInterval()来实现动画效果
2、可以将动画封装成一个函数,这样可以多个元素调用,不用重复写
3、动画函数接收参数- - -元素对象、目标偏移量、回调函数
①函数里添加一个定时函数,给定时函数一个名字,后面清除定时函数要使用定时函数名
②定时函数里面处理程序:
a. 给一个固定的每步移动值,设置元素对象的偏移量匀速变化- - -eg: obj.style.left = obj.offsetLeft + 5 + ‘px';
b. 判断偏移量是否达到目标值,达到的话停止动画- - -
clearInterval(obj.timer);
并且在动画停止时判断是否存在回调函数,有回调函数的话执行回调函数
4、在动画函数的最前面添加清除定时器函数,清除之前的动画影响- - -clearInterval(obj.timer);
有时需要点击按钮后,触发动画这种,没有添加清除的话,重复点击按钮,动画效果会叠加,越来越快
5、也可以将动画函数封装到js文件中进行引用

小提示:以上只是一种方法,不同动画效果根据所需进行调整实现方法

代码示例:


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta Http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>匀速动画</title>
    <style>
        .box {
            position: relative;
            width: 1000px;
            margin-top: 20px;
        }
        
        .xiaohuli {
            position: absolute;
            top: 0;
            left: 0;
            width: 150px;
            height: 150px;
        }
        
        .pikaqiu {
            position: absolute;
            top: 150px;
            left: 0;
            width: 200px;
            height: 150px;
        }
    </style>
</head>

<body>
    <button class="btn1">点击移动小狐狸</button>
    <button class="btn2">点击移动皮卡丘</button>
    <div class="box">
        <img src="images/小狐狸.jpg" alt="" class="xiaohuli">
        <img src="images/皮卡丘.jpg" alt="" class="pikaqiu">
    </div>
    <script>
        var btn1 = document.querySelector('.btn1');
        var btn2 = document.querySelector('.btn2');
        var xiaohuli = document.querySelector('.xiaohuli');
        var pikaqiu = document.querySelector('.pikaqiu');

        btn1.addEventListener('click', function() {
            animate(xiaohuli, 300);
        })

        btn2.addEventListener('click', function() {
            animate(pikaqiu, 450);
        })

        // 动画函数     obj动画对象, target目标左偏移量, callback回调函数
        function animate(obj, target, callback) {
            clearInterval(obj.timer);
            obj.timer = setInterval(function() {

                obj.style.left = obj.offsetLeft + 5 + 'px';

                if (obj.offsetLeft >= target) {
                    // 停止动画
                    clearInterval(obj.timer);
                    // 如果有回调函数,执行回调函数
                    if (callback) {
                        callback();
                    }
                }


            }, 30);
        }
    </script>
</body>

</html>

页面效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: javascript实现匀速动画效果

本文链接: https://www.lsjlt.com/news/137199.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript实现匀速动画效果
    本文实例为大家分享了javascript实现匀速动画的具体代码,供大家参考,具体内容如下 实现思路: 1、主要使用定时函数setInterval()来实现动画效果 2、可以将动画封装...
    99+
    2024-04-02
  • javascript实现缓动动画效果
    本文实例为大家分享了javascript实现缓动动画效果的具体代码,供大家参考,具体内容如下 实现思路 1、主要使用setInterval定时函数 2、给需要动画的元素添加绝对定位和...
    99+
    2024-04-02
  • JS+div如何实现匀速移动动画与变速移动动画
    这篇文章将为大家详细讲解有关JS+div如何实现匀速移动动画与变速移动动画,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.匀速移动代码<!DOCTYPE ...
    99+
    2024-04-02
  • 用JavaScript实现动画效果(转)
    大家在使用Dreamweaver中的时间线功能或以做出很有趣的动画效果,Dreamweaver会自动为用户生成特定的程序代码,大家有没有想过动画的实现原理呢?其实原理是很简单的,主要是使用了一个计时器函数,下面我为大家  演示一个简单的动画...
    99+
    2023-06-03
  • 用JavaScript实现动画效果 (转)
    用JavaScript实现动画效果 (转)[@more@]主页: .NET">http://www.maxss.netEMail: maxss.net@163.com  大家在使用Dreamweaver中的时间线功能或以做出很有趣的动画效果...
    99+
    2023-06-03
  • JS中如何实现offset和匀速动画
    这篇文章主要介绍了JS中如何实现offset和匀速动画,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。offset简介我们知道,三大家族包括:...
    99+
    2024-04-02
  • css3怎么设置动画匀速
    今天小编给大家分享一下css3怎么设置动画匀速的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2024-04-02
  • JavaScript中怎么实现DOM动画效果
    JavaScript中怎么实现DOM动画效果,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。让一个元素从左至右进行运动<div id=&q...
    99+
    2024-04-02
  • 如何实现Javascript的BOOM动画效果
    如何实现Javascript的BOOM动画效果,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。缘起前几天在 github 上看到同事的一个这样的...
    99+
    2024-04-02
  • JavaScript如何实现反弹动画效果
    小编给大家分享一下JavaScript如何实现反弹动画效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码如下:<!DO...
    99+
    2024-04-02
  • 利用JavaScript实现放鞭炮动画效果
    目录前言制作思路代码实现构建鞭炮安排小兔上场点火爆炸效果添加音频前言 谈及过年,最先让人想到的就是,噼里啪啦的鞭炮声,小时候到了春节,点上一根香,把红色的鞭炮从那一排子里解出几个,放...
    99+
    2023-01-11
    JavaScript放鞭炮动画 JavaScript放鞭炮 JavaScript 动画
  • CSS3怎么实现超慢速移动动画效果
    这篇文章主要讲解了“CSS3怎么实现超慢速移动动画效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS3怎么实现超慢速移动动画效果”吧! ...
    99+
    2024-04-02
  • WPF实现动画效果
    学习平台 微软开发者博客:https://devblogs.microsoft.com/WT.mc_id=DT-MVP-5003986微软文档与学习:https://docs.mic...
    99+
    2024-04-02
  • JavaScript+Canvas实现带跳动效果的粒子动画
    目录前言实现过程运行效果总结前言 用 HTML5 的 Canvas 元素实现一个带有跳动效果的粒子动画。会用到 Canvas 的2D渲染上下文,通过 JavaScript 编写绘图代...
    99+
    2023-03-14
    JavaScript Canvas实现粒子动画 Canvas粒子动画 JavaScript Canvas
  • WPF实现动画效果(六)之路径动画
    WPF动画效果系列 WPF实现动画效果(一)之基本概念 WPF实现动画效果(二)之From/To/By 动画 WPF实现动画效果(三)之时间线(TimeLine) WPF实现动画效果...
    99+
    2024-04-02
  • JavaScript实现扯网动画效果的示例代码
    目录演示技术栈源码css控制js部分演示 技术栈 JavaScript prototype(原型对象): 所有的 JavaScript 对象都会从一个 prototype(原型对象...
    99+
    2024-04-02
  • jQuery如何实现动画效果?
    ...
    99+
    2024-04-02
  • 如何实现css3动画效果
    这篇文章主要介绍“如何实现css3动画效果”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何实现css3动画效果”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • Vue如何实现动画效果
    这篇文章主要介绍Vue如何实现动画效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:1.哪些元素/那些组件适合在那些条件下实现动画效果条件渲染 (使用 v-if)条件展示 ...
    99+
    2024-04-02
  • JavaScript动画原理之如何使用js进行动画效果的实现
    目录前言1.动画原理2.动画函数的封装3.给不同元素添加定时器4.缓动动画原理5.给动画添加回调函数6.动画函数的使用写在最后前言 动画对于我们来说都不陌生,css里面就有很多动画,...
    99+
    2023-05-14
    js动画效果有哪些 js动画效果代码案例 javascript动画教程
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作