【js控制页面的模糊程度】【lenis禁止页面滚动】

news2024/11/26 8:53:35

文章目录

  • 前言
  • 一、效果图
  • 二、使用步骤
    • 1.下载@studio-freight/lenis
    • 2.使用@studio-freight/lenis
  • 三、下载 gsap在编写页面动画
    • 1. 下载gsap
    • 2.引入gsap
    • 3.调用gsap的方法,让页面模糊
  • 总结


前言

在项目中,我们经常会遇到弹窗功能,当弹框弹出时,背后的页面禁止滚动,且模糊处理。


一、效果图

没添加模糊的效果

在这里插入图片描述

添加模糊后的效果

在这里插入图片描述

二、使用步骤

1.下载@studio-freight/lenis

下载控制页面滚动的插件@studio-freight/lenis,可以使用插件的start()方法控制页面开始滚动,stop()方法控制页面禁止滚动。

npm i @studio-freight/lenis@^1.0.27

2.使用@studio-freight/lenis

首先,初始化lenis

在main.js中

// 引入插件lenis
import Lenis from '@studio-freight/lenis'

// 初始化lenis
 const lenis = new Lenis()
 function raf(time) {
   lenis.raf(time)
   requestAnimationFrame(raf)
 }
 requestAnimationFrame(raf)
 Vue.prototype.$lenis = lenis;


在需要使用的组件中调用

// 禁止页面滚动
this.$lenis.stop();

// 允许页面滚动
this.$lenis.start();

三、下载 gsap在编写页面动画

1. 下载gsap

npm i gsap

2.引入gsap

在需要使用的组件中引入

import gsap from 'gsap';
import ScrollTrigger from 'gsap/ScrollTrigger';
gsap.registerPlugin(ScrollTrigger);

export default {
	data() {
		return {
			appTl: gsap.timeline({
		        reversed: true, 
		        paused: true, 
		    }),
		}
	},
	methods: {
		// 定义页面模糊的方法
		initAppFilterTl() {
		  // #app为id="app"的元素,在vue中就是整个项目了,一般默认情况下,app.vue的的最外层div的id为app。
		  // filter:css属性,用来给页面增加模糊效果,blur(0)中的值越大,模糊效果越明显
		  // duration: 做动画所需要的时间
	      this.appTl.fromTo("#app", {filter: "blur(0)"}, {filter: "blur(5px)", duration: .1});
	    },
	}
}

3.调用gsap的方法,让页面模糊

调用gsap的play()方法是页面模糊,reverse()是页面还原清晰度。

// 页面模糊
this.appTl.play();
// 页面清晰度还原
this.appTl.reverse();

总结

这里总结了当弹框弹出时,给弹框的背景模糊处理,禁止滚动的方法,使用插件来实现,不是用纯js写的。

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

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

相关文章

MPI并行程序设计 —— C 和 fortran 环境搭建 openmpi 示例程序

1.安装环境 wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.6.tar.g tar zxf openmpi-4.1.6.tar.gz cd openmpi-4.1.6/ 其中 configure 选项 --prefix/.../ 需要使用绝对路径,例如: ./configure --prefix/home/hipper/ex_open…

python subprocess run 和 Popen 的一些使用和注意事项

文章目录 一、run二、Popen NAME subprocess - Subprocesses with accessible I/O streams MODULE REFERENCE https://docs.python.org/3.9/library/subprocess The following documentation is automatically generated from the Python source files. It may be incomplete, …

【事故总结】Mybatis-Wrapper导致的生产事故

近期遭遇了一次生产环境的严重告警,涉及慢接口和CPU过载。经过排查,发现问题根源在于一段使用MyBatis的查询代码。当传入空列表作为查询条件时,MyBatis会忽略该条件,导致全表扫描,进而引发系统资源耗尽和频繁的Full GC…

浅谈技术架构的演进过程

前言 最近在学习Redis、Doctor相关技术知识,它们与分布式系统有着很大的关系。 而对于分布式系统,它本身就是随着业务的不断推进,技术架构不断演进而得到发展和实现的。而所谓的分布式系统,实际上就是想办法引入更多的硬件资源&am…

OpenHarmony之分布式软总线

分布式软总线是多设备终端的统一基座,为设备间的无缝互联提供了统一的分布式通信能力,能够快速发现并连接设备,高效地传输任务和数据。 分布式软总线实现近场设备间统一的分布式通信管理能力,提供不区分链路的设备间发现连接、组网…

消息队列基础知识

学一点,整一点,基本都是综合别人的,弄成我能理解的内容 https://blog.csdn.net/BenJamin_Blue/article/details/125946812 https://blog.csdn.net/qq_46119575/article/details/129794304 📌导航小助手📌 生产者-消费者…

14.12-常见的对于非阻塞复制的误解

常见的对于非阻塞复制的误解 1,非阻塞赋值和$display1.1,RTL案例1.2,功能实现1.3,解释误解 2,#0延时赋值2.1,RTL案例2.2,功能实现2.3,解释误解 3,对同一变量进行多次非阻…

家用洗地机哪个牌子好?2024年洗地机热门品牌测评

随着科技水平的不断发展,人们对家居设备的要求也在不断提高,追求省时省力的家务工具变得越来越受欢迎。家用洗地机的出现满足了这一需求,其洗拖吸一体的特点使其成为现代家庭的必备神器。 使用家用洗地机可以极大地提高地面清洁的效率&#…

因数据侵权,纽约时报起诉OpenAI、微软

12月28日,金融时报消息,因为非法使用数百万篇新闻数据训练ChatGPT等生成式AI产品,《纽约时报》正在起诉OpenAI和微软。 这是第一家起诉生成式AI厂商的著名媒体。《纽约时报》没有公布具体数额,但希望获得数十亿美元的赔偿金。 O…

两向量叉乘值为对应平行四边形面积--公式推导

两向量叉乘值为对应平行四边形面积--公式推导 介绍 介绍

PowerShell Instal 一键部署gitea

gitea 前言 Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来…

Ubuntu22.04-安装后Terminal无法调出

参考: Ubuntu20.04 终端打开不了的问题排查_ubuntu终端打不开-CSDN博客 https://blog.csdn.net/u010092716/article/details/130968032 Ubuntu修改locale从而修改语言环境_ubuntu locale-CSDN博客 https://blog.csdn.net/aa1209551258/article/details/81745394 问…

2023年度总结:技术旅程的杨帆远航⛵

文章目录 职业规划与心灵成长 ❤️‍🔥我的最大收获与成长 💪新年Flag 🚩我的技术发展规划 ⌛对技术行业的深度思考 🤔祝愿 🌇 2023 年对我来说是一个充实而令人难以忘怀的一年。这一年,我在CSDN上发表了 1…

有效解决vcruntime140_1.dll丢失的问题,关于vcruntime140_1.dll文件

今天在使用电脑的过程中突然提示找不到vcruntime140_1.dll,出现这样的提示后,想要在打开程序时,有再一次提示找不到vcruntime140_1.dll,不能在正常打开程序,那么有什么办法可以解决vcruntime140_1.dll丢失的问题呢&…

用python画最简单的图案,用python画小猫简单代码

本篇文章给大家谈谈用python画小猫简单100行代码,以及用python画最简单的图案,希望对各位有所帮助,不要忘了收藏本站喔。 Source code download: 本文相关源码 from turtle import * #两个函数用于画心 defcurvemove():for i in range(200): …

Java基础02-Java编程基础

文章目录 变量(Variables)局部变量和成员变量局部变量(Local Variables)成员变量(Instance Variables) 标识符(Identifiers)八种基本数据类型原始数据类型(Primitive Dat…

【网络安全 | CTF】pure_color

该题考察图片隐写 给出一张图片如下: 典型的图片隐写,运行stegsolve即可: 如图: flag{true_steganographers_doesnt_need_any_tools}

《新传奇》期刊投稿论文发表

《新传奇》杂志是经国家新闻出版总署批准、面向国内外公开发行的综合性社科期刊,由湖北省文联主管,湖北今古传奇传媒集团有限公司主办,湖北优秀期刊。本刊旨在坚守初心、引领创新,展示高水平研究成果,支持优秀学术人才…

Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中

目录 默认样式 修改默认字体颜色&#xff1a; 修改鼠标悬浮/选中字体颜色&#xff1a; 去掉长分割线并修改下划线颜色 完整代码 默认样式 注意事项&#xff1a;一定要在 <style scoped>不然修改的样式不会覆盖生效 修改默认字体颜色&#xff1a; ::v-deep .el-tabs__…

三分钟学完科研论文常用统计图

统计分析的结果通常包括统计图和统计表。统计图是一种用图形表示数据的方式&#xff0c;它能够直观地展示数据的分布、趋势和关系。科研论文中常见的统计图包括条形图、饼图、折线图、散点图等。这些图形可以帮助人们快速地理解和分析数据&#xff0c;找出其中的规律和特征。今…