首页 > 其他分享 >IntersectionObserver的简单使用

IntersectionObserver的简单使用

时间:2024-05-25 19:59:14浏览次数:22  
标签:io app 简单 height item background 使用 close IntersectionObserver

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin:0;
            padding:0;
            list-style: none;
            text-decoration: none;
        }
        ::-webkit-scrollbar{
            display: none;
        }
        #app{
            margin: 20px auto 0;
            width:800px;
            height: 400px;
            overflow: scroll;
            background:skyblue;
        }
        #app li{
            margin-bottom: 5px;
            width: 100%;
            height: 60px;
            line-height: 60px;
            text-align: center;
            background:#16c3a2;
        }
    </style>
</head>
<body>
    <ul id="app">
          <li>1</li>
          <li>2</li>
          <li>3</li>
          <li>4</li>
          <li>5</li>
          <li>6</li>
          <li>7</li>
          <li>8</li>
          <li>9</li>
          <li>10</li>
    </ul>
    <button id="close">关闭观察器</button>
    <script>
        const app = document.querySelector('#app')
        const close = document.querySelector('#close')
        const io = new IntersectionObserver((entries,observer)=>{
             entries.forEach(item=>{
                //出现在视口时
                if(item.isIntersecting){
                   item.target.style.background = 'orange'
                //离开视口区域
                }else{
                    item.target.style.background = '#16c3a2'
                } 
             })
        },
        {
            root:app,
            rootMargin: '0px 0px 50px 0px', // 页面底部50px开始加载
            threshold: 0.1 // 当目标元素10%可见时触发回调
        });
        //观察所有图片
        Array.from(app.children).forEach(item=>{
            io.observe(item)
        })
        close.onclick = function(){
            io.disconnect()
        }
    </script>
</body>
</html>

标签:io,app,简单,height,item,background,使用,close,IntersectionObserver
From: https://blog.csdn.net/qq_55139096/article/details/139081517

相关文章

  • Keras深度学习框架第二十五讲:使用KerasNLP预训练Transformer模型
    1、KerasNPL预训练Transformer模型概念使用KerasNLP来预训练一个Transformer模型涉及多个步骤。由于Keras本身并不直接提供NLP的预训练模型或工具集,我们通常需要结合像TensorFlowHub、HuggingFace的Transformers库或自定义的Keras层来实现。以下是一个简化的步骤概述,用......
  • Linux crontab使用整理,让你少走弯路
    前言最近在Linux上使用crontab,crontab可以理解为设置并执行定时任务的工具,在使用过程中,我遇到一些坑,所以整理一下,让大家避坑的同时还能学习到知识,话不多说,上才艺!安装略(没有安装的同学们,请自行安装,这里就不多废话了)常用命令集锦       servicecrondstart  ......
  • springboot3.0+shardingsphere5.2 最简单的分库分表
    先看表结构两个数据库test1,test2每个库有4张sys_user表分别命名sys_user_0-4maven依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>......
  • 亿图图示使用技巧(关键技巧)
    亿图图示(EdrawMax)使用技巧可以大大提高绘图效率和图表质量。以下是一些关键的使用技巧,分点表示并进行了归纳:1.快速创建图表打开亿图软件,点击“新建”,在“预定义模板和例子”中选择所需的绘图类型。选择从模板或例子中创建,快速启动绘图过程。2.高效编辑图形连接形状:拖拽......
  • Python一个简单的单元测试
    Python一个简单的单元测试提示:以下内容均为个人原创!文章目录Python一个简单的单元测试一、介绍二、使用1.创建逻辑代码2.生成单元测试3.生成单元测试的方式(1).直接在逻辑代码中添加(2).单独制作4.运行代码总结一、介绍在使用Python制作模块后,总是不确定模块中......
  • LPT200 使用记录
    1.LPT200是串口转wifi的模组,支持STA模式和AP模式(重要需要搞懂)。AT指令参考《HF-LPT200用户手册V1.6(20150720).pdf》注意:所有指令后面带回车换行2.先说AP模式,相当于模组作为一个路由器,电脑连上模组的wifi信号,模组上电默认是AP模式,模组通过USB连上电脑供电后,模组会有wifi......
  • c++实现简单算法【1】
    1.交换两数inta=2,b=3;inttemp=a;a=b;b=a; 函数包装指针#include<stdio.h>#include<string.h>//#include<iostream>//usingnamespacestd;voidswap(int*a,int*b){ inttemp=*a; *a=*b;//修改a指针指向的地址的对应的变量的值,地址不变 *b=temp;}int......
  • WPF一个简单的属性编辑控件
    代码:publicclassPropertiesControl:Grid{[TypeConverter(typeof(LengthConverter))]publicdoubleRowHeight{get{return(double)GetValue(RowHeightProperty);}set{SetValue(RowHeightProperty,......
  • 使用@ConfigurationProperties注解产生的一个小错误
    今天在写项目时碰到一个错误:Notregisteredvia@EnableConfigurationProperties,markedasSpringcomponent,orscannedvia@ConfigurationPropertiesScan原代码如下:@Data@ConfigurationProperties(prefix="catshop.auth")publicclassAuthProperties{//相关......
  • 数据清洗到站点聚类,全面解析伦敦共享单车使用规律!
    1.项目背景随着共享单车在全球范围内的普及,城市交通出行模式发生了巨大变化。伦敦作为国际化大都市,交通拥堵问题日益严重,共享单车作为一种绿色、环保、便捷的出行方式,逐渐成为解决交通问题的重要组成部分,然而,要实现共享单车系统的高效运营,必须深入了解用户的使用习惯和需求......