jq——页面滚动到显示区域,再执行动画——基础积累

news2024/9/23 5:16:49

今天郑大东同事向我显摆了一个他做的动画,效果如下:

使用场景

当页面滚动到相应区域时,再执行里面的动画,也就是下图中右侧的一层层的显示动画,无论是向上滚动页面还是向下滚动页面。
在这里插入图片描述
下面直接上代码:

html部分代码

<div id="boxVue" class="boxLaminatedStructure">
      <div class="li" id="dcAnm1">
        <div class="t"><i>1</i><b>编号:JLC04161H-xxxx </b></div>
        <table>
          <tr>
            <th>类型</th>
            <th>物料参数</th>
            <th>/</th>
            <th>厚度参数(mm)</th>
            <th>压合参数(mm)</th>
          </tr>
          <tr>
            <td class="class">通红</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
            <td rowspan="7" class="dcPic"></td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">墨绿</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">通红</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
        </table>
      </div>
      <div class="li" id="dcAnm2">
        <div class="t">
          <i>2</i><b>编号:JLC04161H-xxxx </b><b>成品板厚:1.6mm</b
          ><b>外层:参数</b><b>内层:0.5</b>
        </div>
        <table>
          <tr>
            <th>类型</th>
            <th>物料参数</th>
            <th>/</th>
            <th>厚度参数(mm)</th>
            <th>压合参数(mm)</th>
          </tr>
          <tr>
            <td class="class">通红</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
            <td rowspan="11" class="dcPic"></td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">墨绿</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">墨绿</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">通红</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
        </table>
      </div>
      <div class="li" id="dcAnm3">
        <div class="t"><i>2</i><b>编号:JLC04161H-xxxx </b></div>
        <table>
          <tr>
            <th>类型</th>
            <th>物料参数</th>
            <th>/</th>
            <th>厚度参数(mm)</th>
            <th>压合参数(mm)</th>
          </tr>
          <tr>
            <td class="class">通红</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
            <td rowspan="11" class="dcPic"></td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">墨绿</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">墨绿</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">通红</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
        </table>
      </div>
      <div class="li" id="dcAnm4">
        <div class="t"><i>3</i><b>编号:JLC04161H-xxxx </b></div>
        <table>
          <tr>
            <th>类型</th>
            <th>物料参数</th>
            <th>/</th>
            <th>厚度参数(mm)</th>
            <th>压合参数(mm)</th>
          </tr>
          <tr>
            <td class="class">通红</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
            <td rowspan="23" class="dcPic"></td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">墨绿</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">墨绿</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">墨绿</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">墨绿</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">墨绿</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td>内层</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">橙黄</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
          <tr>
            <td class="class">通红</td>
            <td>参数</td>
            <td>/</td>
            <td>参数</td>
            <td>参数</td>
          </tr>
        </table>
      </div>
      <el-empty description="暂无数据"></el-empty>
    </div>

此时页面的效果如下:
在这里插入图片描述

css部分代码

<style>
  .boxLaminatedStructure {
    font-size: 20px;
  }
  .boxLaminatedStructure .li {
    font-size: 0.8em;
    border: 1px solid #eaeaea;
    background-color: #fbfbfb;
    padding: 1em;
    margin-bottom: 1em;
  }
  .boxLaminatedStructure .li table {
    text-align: center;
  }
  .boxLaminatedStructure .li table th,
  .boxLaminatedStructure .li table td {
    padding: 0.5em;
  }
  .boxLaminatedStructure .li table th {
    font-weight: normal;
    text-align: center;
  }
  .boxLaminatedStructure .li table td {
    background-color: #fff;
  }
  .boxDcAnmImg {
    font-size: 20px;
  }
  .boxDcAnmImg i {
    display: block;
    width: 18.3em;
    background: no-repeat right center;
    height: 1em;
    padding: 0.15em 0;
    box-sizing: content-box;
    position: relative;
    opacity: 0;
  }
  .boxDcAnmImg i em {
    font-size: 0.7em;
    position: absolute;
    top: 50%;
    right: 24em;
    transform: translateY(-50%);
  }
  .boxDcAnmImg i.L em:first-of-type {
    top: 0;
    transform: none;
  }
  .boxDcAnmImg i.L em:last-of-type {
    top: auto;
    bottom: 0;
    transform: none;
  }
  .boxDcAnmImg i.GTL {
    background-image: url('images/icon_GTL.png');
  }
  .boxDcAnmImg i.PP {
    background-image: url('images/icon_PP.png');
  }
  .boxDcAnmImg i.L {
    background-image: url('images/icon_L.png');
    height: 3.5em;
  }
  .boxDcAnmImg.anm i {
    animation: show-li 1s ease-in-out forwards;
  }
  /*.boxDcAnmImg i.a1{}*/
  /*.boxDcAnmImg i.a2{animation-delay:.3s;}*/
  @keyframes show-li {
    0% {
      opacity: 0;
      transform: translateY(-40px) scale(1.1);
    }
    100% {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }
</style>

js部分代码

<script
 src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"
  type="text/javascript"
></script>
<script>
    fnDcAnmImg();
  //构建结构图
  function fnDcAnmImg() {
    $('.boxLaminatedStructure .li').each(function (lid) {
      var liHtml = '';
      var length = $(this).find('.class').length;
      var xb = 2;
      var showTime = 0.3; //逐个展示时间
      var anmDelay = showTime * length;
      $(this)
        .find('.class')
        .each(function (cid) {
          var text = $(this).text();
          var Lid = length - cid;
          anmDelay -= showTime;
          var style = `style="animation-delay:${anmDelay.toFixed(1)}s;"`;
          if (text.indexOf('通红') >= 0)
            liHtml += `<i class="GTL a${Lid}" ${style}><em>GTL</em></i>`;
          else if (text.indexOf('橙黄') >= 0)
            liHtml += `<i class="PP a${Lid}" ${style}><em>PP</em></i>`;
          else if (text.indexOf('墨绿') >= 0) {
            liHtml += `<i class="L a${Lid}" ${style}><em>L${xb}</em><em>L${
              xb + 1
            }</em></i>`;
            xb += 2;
          }
        });
      $(this)
        .find('.dcPic')
        .html(`<div class="boxDcAnmImg">${liHtml}</div>`);
    });
    fnDcAnmTo();
    //滚动监听
    $(window).scroll(function () {
      fnDcAnmTo();
    });
  }
  //滚动监听
  function fnDcAnmTo() {
    $('.boxLaminatedStructure .li').each(function (lid) {
      var ts = $(this);
      var bodySroll = $(window);
      var toTop = ts.offset().top;
      var viewH = bodySroll.height() / 1.5;
      if (
        (this.getBoundingClientRect().top > 0 &&
          this.getBoundingClientRect().height -
            this.getBoundingClientRect().top >
            100) ||
        (this.getBoundingClientRect().top < 0 &&
          this.getBoundingClientRect().top * -1 <
            this.getBoundingClientRect().height)
      ) {
        $(this).find('.boxDcAnmImg').addClass('anm');
      } else {
        $(this).find('.boxDcAnmImg').removeClass('anm');
      }
    });
  }
</script>

完成,多多积累,多多收获!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/823704.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mybatis更新时记录变更的字段日志java反射获取字段值转成string

1.先写个注解,加在entity的字段上,标记要记录这个字段的更新记录&#xff0c;再加个变更记录表&#xff08;你们可以用自己的日志表&#xff09; Retention(RetentionPolicy.RUNTIME) Target({java.lang.annotation.ElementType.FIELD}) Documented public interface ModifyAw…

iPhone 8透明屏的透明度高吗?

iPhone 8是苹果公司于2017年推出的一款智能手机&#xff0c;它采用了全新的设计和技术&#xff0c;其中一个亮点就是透明屏。 透明屏是指屏幕具有透明度&#xff0c;可以透过屏幕看到背后的物体。 iPhone 8的透明屏采用了最新的OLED技术&#xff0c;这种技术可以实现更高的对比…

Jmeter —— jmeter参数化实现

jmeter参数化 在实际的测试工作中&#xff0c;我们经常需要对多组不同的输入数据&#xff0c;进行同样的测试操作步骤&#xff0c;以验证我们的软件的功能。这种测试方式在业界称为数据驱动测试&#xff0c; 而在实际测试工作中&#xff0c;测试工具中实现不同数据输入的过程称…

替代LT8711龙讯替代RTD2172 CS5265中文规格书4K60HZ转接线 设计Type-C转HDMI2.0高清投屏方案

龙迅LT8711是一款Type-C/DP1.2 to HDMI2.0方案芯片&#xff0c;北京集睿致远&#xff08;ASL&#xff09;推出的CS5265可以完全代替LT8711UX&#xff0c;封装尺寸比LT8711UX小的同时&#xff0c;CS5265的芯片集成度高&#xff0c;内置MCU&#xff0c;内置lLDO等&#xff0c;CS5…

【外卖系统】菜品信息分页查询

需求分析 当菜品数据很多时&#xff0c;用分页的形式来展示列表数据 代码开发 页面发送ajax请求&#xff0c;将分页查询参数提交到服务端&#xff0c;获取分页数据页面发送请求&#xff0c;请求服务端进行图片下载&#xff0c;用于页面图片展示 构造分页 注意&#xff1a;…

Unity简单抽奖效果实现

实现效果如下&#xff1a; 实现效果为&#xff1a;外部传入数值&#xff0c;正常显示 lhj抽取效果 用户可自定义行为&#xff1a;1&#xff0c;抽取的显示&#xff1b;2&#xff0c;抽取的最低时间 实现代码如下&#xff0c;可自行改写&#xff1a; using System.Collection…

最新 23 届计算机校招薪资汇总

24 届的秋招提前批已经开始了&#xff0c;比如米哈游、oppoe、tplink 等公司都已经录取开启提前批。 像腾讯、字节、阿里等一线大厂的话&#xff0c;根据往年的情况&#xff0c;估计是 7月下-8 月初。 所以今年参加秋招的同学&#xff0c;要抓紧复习了。 提前批通常就持续不到…

Minio 部署

minio 官网&#xff1a;https://www.minio.org.cn/ 部署文档&#xff1a;https://www.minio.org.cn/docs/minio/container/operations/install-deploy-manage/deploy-minio-single-node-single-drive.html# 选择自己的部署环境&#xff1a; 我用的docker: docker pull qua…

命令模式——请求发送者与接收者解耦

1、简介 1.1、概述 在软件开发中&#xff0c;经常需要向某些对象发送请求&#xff08;调用其中的某个或某些方法&#xff09;&#xff0c;但是并不知道请求的接收者是谁&#xff0c;也不知道被请求的操作是哪个。此时&#xff0c;特别希望能够以一种松耦合的方式来设计软件&a…

LaTex的下载与安装超详细windows版

1.LaTex的下载 &#xff08;texlive下载TexStudio下载&#xff09; &#xff08;1&#xff09;texlive下载&#xff1a; 这里清华镜像下载 &#xff08;2&#xff09;TexStudio下载&#xff1a; 点这里下载镜像 可以根据不同的系统选择不同的版本 2 .LaTex的安装 &#…

1分钟解决github push/pull报错443

1.打开https://www.ipaddress.com/ 2.复制如图IP地址 3.文件夹打开C:\Windows\System32\drivers\etc&#xff0c;复制hosts文件&#xff0c;粘贴到桌面 4.在桌面用记事本打开复制过来的hosts 5.在末尾加上一行&#xff0c;IP写刚才复制的 6.复制桌面的hosts,粘贴回C:\Window…

web开发中的安全和防御入门——csp (content-security-policy内容安全策略)

偶然碰到iframe跨域加载被拒绝的问题&#xff0c;原因是父页面默认不允许加载跨域的子页面&#xff0c;也就是的content-security-policy中没有设置允许跨域加载。 简单地说&#xff0c;content-security-policy能限制页面允许和不允许加载的所有资源&#xff0c;常见的包括&a…

3DEXPERIENCE用户角色 | Structural Performance Engineer 结构性能工程师

- 3DEXPERIENCE 用户角色 - 快速、真实和准确的仿真 推动产品工程创新并促进协作 通过 Structural Performance Engineer&#xff0c;您可以在基于云的 3DEXPERIENCE 平台上执行结构静态、频率、扭曲、模态动态响应&#xff0c;以及零件和装配体结构热仿真。 亮点 与 SOLIDW…

统一观测|借助 Prometheus 监控 ClickHouse 数据库

引言 ClickHouse 作为用于联机分析(OLAP)的列式数据库管理系统(DBMS), 最核心的特点是极致压缩率和极速查询性能。同时&#xff0c;ClickHouse 支持 SQL 查询&#xff0c;在基于大宽表的聚合分析查询场景下展现出优异的性能。因此&#xff0c;获得了广泛的应用。本文旨在分享阿…

【Golang】基于录制,自动生成go test接口自动化用例

目录 背景 框架 ginkgo初始化 抓包&运行脚本 目录说明 ∮./business ∮./conf ∮./utils ∮./testcase testcase 用例目录结构规则 示例 实现思路 解析Har数据 定义结构体 解析到json 转换请求数据 转换请求 转换请求参数 写业务请求数据 写gotest测试…

K8s总结

K8s 是什么 Kubernetes是一个开源的&#xff0c;用于管理云平台中多个主机上的容器化的应用&#xff0c;Kubernetes的目标是让部署容器化的应用简单并且高效&#xff08;powerful&#xff09;,Kubernetes提供了应用部署&#xff0c;规划&#xff0c;更新&#xff0c;维护的机制…

【从零开始学习JAVA | 第三十五篇】IO流综合练习

目录 前言&#xff1a; 1.拷贝文件&#xff08;含子文件&#xff09; 思路&#xff1a; 2.文件加密 思路&#xff1a; 3.修改文件中的数据&#xff1a; 思路&#xff1a; 总结&#xff1a; 前言&#xff1a; 在前面我们为大家介绍了FILE类和IO类。这篇文章我们来练习一…

SQL SERVER 中将数据表中的字段按分隔符分成多行多列

SQL SERVER 中将数据表中的字段按分隔符分成多行多列_sql按逗号拆分列为多行_帅气的苹果果的博客-CSDN博客 SELECTa.name,monitors SUBSTRING ( a.monitors, b.number, charindex( ,, a.monitors ,, b.number ) - b.number ) FROM( SELECT name, monitors FROM [dbo].[ssm_vi…

Packet Tracer - 连接有线和无线 LAN

Packet Tracer - 连接有线和无线 LAN 地址分配表 设备 接口 IP 地址 连接到 云 Eth6 N/A Fa0/0 Coax7 N/A Port0 电缆调制解调器 Port0 N/A Coax7 Port1 N/A 互联网 Router0 控制台端口 N/A RS232 Fa0/0 192.168.2.1/24 Eth6 Fa0/1 10.0.0.1/24 Fa…

安科瑞智能照明系统在医院智能建筑中应用的优势

摘要&#xff1a;现阶段&#xff0c;我国的社会经济的发展水平不断提高&#xff0c;为智能照明系统的发展带来了新的契机。文章主要介绍了几类智能照明系统&#xff0c;分析了其优点&#xff0c;并介绍了智能照明系统在医院建筑中的具体应用&#xff0c;具有一定的参考价值。 …