页面模块向上渐变显示效果实现

ps: 先祝各位朋友新春快乐 ^o^/

想要首页不那么枯燥无味吗?还在未首页过于单调而苦恼吧,来试试这个吧(大佬请忽略上述语句·o·)

今天要实现一个页面线上渐变显示的效果,用来丰富首页等页面:

这里先随机建立几个模块:

<div id="app" style="height: 80vh;">
  <div class="outter" >
    <div v-for="item, index in partList" class="partDiv" :style="'background-color: rgb('+Math.ceil(Math.random()*255)+','+Math.ceil(Math.random()*255)+','+Math.ceil(Math.random()*255)+');'">
      {{ index }}
    </div>
  </div>
</div>

当前效果:

接着为每个色块区域添加默认样式:

opacity: 0;    // 默认透明
top: 50px;    // 顶部距离

之后添加条件,当改色块触发到可视区域时展示:

mounted() {
  this.scrollFun();
  // 监听滚动
  window.addEventListener('scroll', this.scrollFun, true);
},
data: function () {
  return {
    partList: [{},{},{},{},{},{},{},{},{},{}],
  }
},
methods: {
  scrollFun() {
    let outter = document.querySelector('.outter')
    let partDivList = document.querySelectorAll('.partDiv');
    for(let i of partDivList) {
      // 判断是否处于可视区域并更改样式
      if(outter.scrollTop>=i.offsetTop-i.clientHeight ) {
        i.style.opacity = 1;
        i.style.top = 0;
      };
    }
  }
}

最后添加动画即可:

transition: all 1s linear;

参考代码:

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <!-- import CSS -->
  <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<style scoped>
  .partDiv {
    width: 100%;
    height: 500px;
    position: relative;
    opacity: 0;
    top: 50px;
    transition: all 1s linear;
  }
  .outter {
    position: relative;
    overflow-y: scroll;
    height: 100%;
  }

</style>

<div id="app" style="height: 80vh;">
  <div class="outter" >
    <div v-for="item, index in partList" class="partDiv" :style="'background-color: rgb('+Math.ceil(Math.random()*255)+','+Math.ceil(Math.random()*255)+','+Math.ceil(Math.random()*255)+');'">
      {{ index }}
    </div>
  </div>
</div>

<script>
  new Vue({
    el: '#app',
    mounted() {
      this.scrollFun();
      window.addEventListener('scroll', this.scrollFun, true);
    },
    data: function () {
      return {
        partList: [{},{},{},{},{},{},{},{},{},{}],
      }
    },
    methods: {
      scrollFun() {
        let outter = document.querySelector('.outter')
        let partDivList = document.querySelectorAll('.partDiv');
        for(let i of partDivList) {
          if(outter.scrollTop>=i.offsetTop-i.clientHeight ) {
            i.style.opacity = 1;
            i.style.top = 0;
          };
        }
      }
    }
  })
</script>

</html>

希望本文会对您有所帮助~ ^_^

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jsp商场会员卡管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 商场会员卡管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.…

C遗漏知识(个人向)

之前C语言遗漏的一些。 数据在内存中的存储 原码、反码、补码 整数的2进制表⽰⽅法有三种&#xff0c;即 原码、反码和补码 正整数的原、反、补码都相同。 负整数的三种表⽰⽅法各不相同。 原码&#xff1a;直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。 反码&…

【芯片设计- RTL 数字逻辑设计入门 6 -- 带同步复位的D触发器 RTL实现及testbench 验证】

文章目录 带同步复位的D触发器Verilog 代码testbench 代码编译及仿真问题小结 带同步复位的D触发器 同步复位 &#xff1a;复位只能发生在在clk信号的上升沿&#xff0c;若clk信号出现问题&#xff0c;则无法进行复位。 Verilog 代码 // timescale ins/1nsmodule flopr (inpu…

45 漏洞发现-API接口服务之漏洞探针类型利用修复

目录 端口服务类安全测试API接口-webservice RESTful APT 演示案例:端口服务类-Tomcat弱口令安全问题端口服务类-Glassfish任意文件读取其他补充类-基于端口WEB站点又测试其他补充类-基于域名WEB站点又测试其他补充类-基于IP配合端口信息再收集口令安全脚本工具简要使用-Snetcr…

sql求解连续两个以上的空座位

Q&#xff1a;查找电影院所有连续可用的座位。 返回按 seat_id 升序排序 的结果表。 测试用例的生成使得两个以上的座位连续可用。 结果表格式如下所示。 A:我们首先找出所有的空座位&#xff1a;1&#xff0c;3&#xff0c;4&#xff0c;5 按照seat_id排序&#xff08;上面已…

vue3 elementplus DateTimePicker 日期时间设置默认时间为当天

DateTimePicker里面有个自带属性 可以实现这个需求&#xff0c;如图&#xff1a; // 设置当前当天时间范围 00: 00: 00 - 23:59:59 const currentDate [setDefaultDate(0), setDefaultDate(1)]const setDefaultDate (type:number ): string > {let t ;let date new Da…

代码随想录算法训练营第25天 | 216.组合总和III ,17.电话号码的字母组合

回溯章节理论基础&#xff1a; https://programmercarl.com/%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 216.组合总和III 题目链接&#xff1a;https://leetcode.cn/problems/combination-sum-iii/ 思路: 本题就是在[1,2,3,4,5,6,7,…

【宝藏系列】嵌入式入门概念大全

【宝藏系列】嵌入式入门概念大全 0️⃣1️⃣操作系统&#xff08;Operating System&#xff0c;OS&#xff09; 是管理计算机硬件与软件资源的系统软件&#xff0c;同时也是计算机系统的内核与基石。操作系统需要处理管理与配置内存、决定系统资源供需的优先次序、控制输入与输…

leetcode9. 回文数|详细深入讲解算法

前往题目有 反转一半数字 思路 映入脑海的第一个想法是将数字转换为字符串&#xff0c;并检查字符串是否为回文。但是&#xff0c;这需要额外的非常量空间来创建问题描述中所不允许的字符串。 第二个想法是将数字本身反转&#xff0c;然后将反转后的数字与原始数字进行比较&…

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

我在namesilo买的域名&#xff0c;coludflare做的解析&#xff0c;华为云的SSL&#xff0c;用宝塔部署的SSL&#xff0c;访问https报错&#xff0c;http却正常&#xff1a; 报错&#xff1a;此网站无法提供安全连接www.hongkong.ioyunxin.top 使用了不受支持的协议。 ERR_SSL_…

法国跨境电商平台 Cdiscount 注册指南,保姆级详细教程

随着跨境电商的兴起&#xff0c;越来越多的企业开始寻求在国际市场上拓展业务。Cdiscount 作为法国最大的在线零售平台之一&#xff0c;是很多跨境卖家进入欧洲市场的首选跨境电商平台之一&#xff0c;要在Cdiscount上成功运营&#xff0c;首要任务是注册店铺。在本文中&#x…

寒武纪显卡实现高维向量的softmax并行优化

关于寒武纪编程可以参考本人之前的文章添加链接描述&#xff0c;添加链接描述&#xff0c;添加链接描述 高维向量softmax的基础编程 高维向量的softmax实现更加复杂&#xff0c;回忆之前在英伟达平台上实现高维向量的softmax函数&#xff0c;比如说我们以形状为[1,2,3,4,5,6]…

Linux自有服务—防火墙和计划任务

Linux常用自有服务有NTP时间同步服务、firewalld防火墙服务和crond计划任务服务&#xff0c;NTP在上一篇中讲过&#xff0c;这次主要来说一下防火墙firewalld与计划任务的相关内容。如下。 一、Linux中防火墙firewalld 1、什么是防火墙 防火墙&#xff1a;防范一些网络攻击…

thinkphp获取用户最新的阅读记录,按书籍id去重,返回最新的阅读记录

通过uid查询data_user_zhangjie的记录 去重shuji_id 获取createtime最新的一条数据 //获取用户章节记录public function getUserZhangjieList(){$uid = input(uid);if(empty

基于SpringBoot+Vue的外卖点餐管理系统

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…

vue3项目中使用mapv

vue3项目中使用mapv mapv是百度地图官方提供的地图数据可视化开源项目&#xff0c;提供了很多效果酷炫的绘图api mapv地址在这里&#xff0c;示例图在这里 先解释为什么要用mapv echarts画的地图&#xff0c;都是行政区划&#xff0c;就算是geo地图&#xff0c;也只能在行政…

c++父类转换为子类,子类转换为父类,子类父类指针相互强制转换

1.子类转换为父类 子类转换为父类之后&#xff0c;不能调用子类独有的函数和成员变量&#xff0c;只能调用子类继承的虚函数&#xff0c;利用 多态的特性。 #include <iostream>class base { public:virtual void Show(){std::cout << "base class" &…

HDL Designer 2021.1 如何将默认编辑器修改为VsCode

第1步 安装Vscode 第2步 添加Vscode至HDL Designer 第3步 更改HDL Designer编译器 第4步 修改结束&#xff0c;在HDL Designer中双击block可使用Vscode编辑verilog

十分钟掌握前端获取实时数据的三种主流方式

前端获取实时数据的三种主流方式 本文聊聊前端获取实时数据的三种主要方式。想象一下&#xff0c;我们在网上购物时&#xff0c;经常能看到最新的优惠信息弹出&#xff0c;或者在社交媒体上看到朋友的最新动态更新。这些都是因为后端在默默地向我们的页面推送了最新的消息。那…

Oracle systemstate、gdb、dbx介绍

当数据库出现严重的性能问题或者hang了的时候&#xff0c; 可能最常用的办法就是重启数据库&#xff0c;简单有效解决问题&#xff1b;但是重启后如何追踪问题的根本原因成了难题&#xff0c;很多信息随着重启也消失不见了&#xff0c;让追查问题变的十分棘手&#xff0c;这时就…