前端小练习1:交叉观察器 页面元素入场动画

简介: 前端小练习1:交叉观察器 页面元素入场动画

有时候我们希望可以做出,当浏览到指定位置,弹出元素,并带有入场动画效果

2.gif

如下图demo所示,此时我们便可以使用IntersectionObserver

<!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>Document</title>
</head>
<body>
    <h1>TOP</h1>
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    <!-- transition:属性名 动画总时间  动画之前等待时间 -->
    <!-- 可以使用逗号同时为多个属性添加动画 -->
    <div id="mydiv" style="background:red; width:100px;height:100px;margin-left:500px; transition:background 3s 0.5s,margin-left 2s; ">    </div>
    <script type="text/javascript">
        var div=document.getElementById("mydiv");
        function callback(a){//观察器的回调函数
            if(a[0].isIntersecting){
                div.style.background="blue";
                div.style.marginLeft="10px";
            }
            else{
                div.style.background="red";
                div.style.marginLeft="500px";
            }
        }
        var x= new IntersectionObserver(callback);//初始化观察器
        x.observe(div);//打开观察器
    </script>
</body>
</html>

参考:

https://developer.mozilla.org/zh-CN/docs/Web/API/IntersectionObserver

https://cloud.tencent.com/developer/article/1499647


相关文章
|
17天前
|
前端开发 数据可视化 JavaScript
前端vite+vue3——可视化页面性能耗时指标(fmp、fp)
前端vite+vue3——可视化页面性能耗时指标(fmp、fp)
40 6
|
2月前
|
前端开发
Web前端开发------网页分组元素
Web前端开发------网页分组元素
25 0
|
4月前
|
缓存 前端开发 JavaScript
如何优化前端页面性能
前端性能优化是网站开发中非常重要的一部分,它直接关系到用户体验和网站的流量以及排名。本文将介绍一些优化前端页面性能的方法,包括减少HTTP请求、压缩代码、使用CDN等。
|
4月前
|
前端开发 JavaScript
前端必看的8个HTML+CSS技巧 (六) 裁剪图像的动画
前端必看的8个HTML+CSS技巧 (六) 裁剪图像的动画
|
3天前
|
前端开发
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
|
10天前
|
JavaScript 前端开发 UED
【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
【5月更文挑战第2天】【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
|
11天前
|
JavaScript 前端开发
【Web 前端】网页上有 5 个div元素,如何使用JQ来选择它们?
【5月更文挑战第1天】【Web 前端】网页上有 5 个div元素,如何使用JQ来选择它们?
|
13天前
|
机器学习/深度学习 前端开发 数据可视化
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
|
13天前
|
JavaScript 前端开发 开发者
【Web 前端】如何操作DOM元素?
【4月更文挑战第22天】【Web 前端】如何操作DOM元素?
|
13天前
|
JavaScript 前端开发 索引
【Web 前端】JQ对象和DOM元素之间如何转换?
【4月更文挑战第22天】【Web 前端】JQ对象和DOM元素之间如何转换?