js 简单的动画过渡效果

简介: js 简单的动画过渡效果

js 利用定时器将页面上的盒子颜色逐个改变颜色

效果图:

HTML代码:

  <div class="box">
        <div class="box_child"></div>
        <div class="box_child"></div>
        <div class="box_child"></div>
        <div class="box_child"></div>
        <div class="box_child"></div>
    </div>

css代码:

 <style>
        * {
            margin: 0;
            padding: 0;
        }
        .box {
            width: 100%;
            display: flex;
        }
        .box_child {
            width: 200px;
            height: 100px;
            margin: 20px;
            background-color: red;
        }
    </style>

js代码:

 <script>
        let times = setInterval(fun, 1000); // 设置永久定时器  
        let index = 0 // 当前过渡到的元素数量
        // 获取父元素
        let box = document.getElementsByClassName('box')[0];
        let box_child = document.getElementsByClassName('box_child');
        function fun() {
            // 如果动画执行完毕就重新开始
            if (index == 5) {
                index = 0;
            } else {
                // 否则动画就继续执行
                index++;
            }
            for (let i = 0; i < box_child.length; i++) {
                if (index > i) {
                    box_child[i].style.backgroundColor = 'blue'
                } else {
                    box_child[i].style.backgroundColor = ''
                }
            }
        }
    </script>

整体代码:

<!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>
    <script src="jquery-3.4.1.js"></script>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .box {
            width: 100%;
            display: flex;
        }
        .box_child {
            width: 200px;
            height: 100px;
            margin: 20px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="box_child"></div>
        <div class="box_child"></div>
        <div class="box_child"></div>
        <div class="box_child"></div>
        <div class="box_child"></div>
    </div>
    <script>
        let times = setInterval(fun, 1000); // 设置永久定时器  
        let index = 0 // 当前过渡到的元素数量
        // 获取父元素
        let box = document.getElementsByClassName('box')[0];
        let box_child = document.getElementsByClassName('box_child');
        function fun() {
            // 如果动画执行完毕就重新开始
            if (index == 5) {
                index = 0;
            } else {
                // 否则动画就继续执行
                index++;
            }
            for (let i = 0; i < box_child.length; i++) {
                if (index > i) {
                    box_child[i].style.backgroundColor = 'blue'
                } else {
                    box_child[i].style.backgroundColor = ''
                }
            }
        }
    </script>
</body>
</html>

运行原理:设置定时器来改变盒子元素的背景颜色,每次执行定时器index的值都会增加,index的值如果大于当次循环的值,就让盒子元素改变背景颜色,如果index的值等于当前盒子元素的数量时,让它归零,并让盒子元素的背景颜色变会之前的颜色。

目录
相关文章
|
6月前
|
前端开发 JavaScript UED
使用JavaScript实现动画效果
【4月更文挑战第21天】使用JavaScript实现动画效果
65 10
|
16天前
|
JavaScript
js动画循环播放特效源码(上班族的一天)
js动画循环播放特效是一段实现了包含形象的卡通小人吃、睡、电脑工作的网页动画,js循环动画,简单的画面设计。非常丝滑有意思,欢迎对此代码感兴趣的朋友前来下载参考。
26 2
|
2月前
|
前端开发 数据可视化 开发者
D3.js 内置的动画函数
D3.js 内置的动画函数
|
2月前
|
JavaScript 前端开发
JS配合CSS3实现动画和拖动小星星小Demo
本文通过代码示例展示了如何使用JavaScript和CSS3实现动画效果和拖动小星星的交互效果,包括文字掉落动画和鼠标拖动产生小星星动画的实现方法。
46 0
JS配合CSS3实现动画和拖动小星星小Demo
|
1月前
|
前端开发 数据可视化 开发者
D3.js 内置的动画函数
D3.js 内置的动画函数
|
3月前
|
JavaScript 前端开发 UED
Vue.js动画魔法:解锁流畅过渡,让每一次交互都成为用户心中的小确幸!
【8月更文挑战第30天】在Vue.js中,动画与过渡效果不仅是视觉点缀,更是提升用户体验的关键。通过流畅的动态效果,应用的互动性和吸引力得以增强,从而提高用户满意度和参与度。`&lt;transition&gt;`和`&lt;transition-group&gt;`组件结合CSS过渡,可轻松实现元素的进入、离开及列表变化动画。合理的性能优化,如使用硬件加速,能避免页面卡顿,确保动画既美观又高效。下面是一个简单的淡入淡出效果示例,展示了如何利用Vue.js实现平滑的动画过渡。总之,恰当的动画设计能显著提升应用的用户体验。
56 0
Vue.js动画魔法:解锁流畅过渡,让每一次交互都成为用户心中的小确幸!
|
3月前
|
JavaScript 前端开发
动态背景,视觉盛宴:JavaScript动画让网页活起来!
动态背景,视觉盛宴:JavaScript动画让网页活起来!
|
3月前
|
移动开发 JavaScript 前端开发
基于CSS3、原生JS、Vue3.0技术各自实现序列帧动画效果
这篇文章展示了如何使用纯CSS3、原生JavaScript以及Vue 3.0技术来实现序列帧动画效果,并通过代码示例和动画效果展示了每种方法的实现过程和最终效果。
138 0
|
4月前
|
JavaScript 前端开发 数据可视化
js 实现动画的两种方案对比:setTimeout vs RAF (requestAnimationFrame)
js 实现动画的两种方案对比:setTimeout vs RAF (requestAnimationFrame)
72 2
|
4月前
|
开发框架 前端开发 JavaScript
循序渐进BootstrapVue,开发公司门户网站(2)--- 使用wow.js动画组件以及自定义的CSS样式处理动态效果
循序渐进BootstrapVue,开发公司门户网站(2)--- 使用wow.js动画组件以及自定义的CSS样式处理动态效果