当前位置: 首页 > news >正文

html内容过长,实现向上循环滑动效果

以下是几种实现 HTML 内容过长时向上循环滑动的常见方法,你可以根据具体需求和项目场景来选择合适的实现方式:

一、使用 CSS3 animation 实现简单的向上循环滑动(适用于简单的文本等内容滑动场景)

原理

通过 CSS3 的 @keyframes 规则定义元素在垂直方向上移动的关键帧动画,然后利用 animation 属性将动画应用到包含长内容的元素上,并设置为无限循环播放,以此来实现向上循环滑动的效果。

示例代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS3 Animation Scroll</title><style>/* 定义容器样式,设置高度、溢出隐藏,确保只显示可视部分 */.scroll-container {height: 300px;overflow: hidden;border: 1px solid #ccc;}/* 定义要滑动的内容区域样式,设置宽度、高度等 */.scroll-content {width: 100%;height: auto;animation: scroll-up 10s linear infinite;}/* 定义CSS3动画关键帧,实现向上移动 */@keyframes scroll-up {0% {transform: translateY(0);}100% {transform: translateY(-100%);}}</style>
</head>
<body><div class="scroll-container"><div class="scroll-content"><p>这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。</p></div></div>
</body>
</html>

在上述代码中:

  • .scroll-container 作为内容的容器,设置了固定高度 300px 以及溢出隐藏,保证只有可视部分的内容显示在页面上。
  • .scroll-content 是实际包含长 HTML 内容的元素,通过 animation 属性应用名为 scroll-up 的动画,动画时长设置为 10s,运动方式为线性(linear),并且设置为无限循环(infinite)。
  • @keyframes 里定义了动画的关键帧,从初始的 transform: translateY(0)(即不偏移)到结束时的 transform: translateY(-100%),也就是让内容向上移动自身高度的距离,从而实现向上循环滑动的视觉效果。

二、利用 JavaScript 结合 CSS transition 属性实现(能更灵活地控制滑动逻辑和交互)

原理

借助 JavaScript 动态地改变包含长内容元素的 top 或 transform 属性(用于定位元素在垂直方向上的位置),同时 CSS 的 transition 属性可以让位置变化产生平滑过渡的滑动效果,再通过定时器等方式来不断重复滑动操作,实现循环滑动。

示例代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>JavaScript + CSS Transition Scroll</title><style>/* 容器样式,设置高度、溢出隐藏、相对定位,方便内部元素定位 */.scroll-container {height: 300px;overflow: hidden;position: relative;border: 1px solid #ccc;}/* 要滑动的内容区域样式,设置绝对定位等 */.scroll-content {width: 100%;height: auto;position: absolute;top: 0;left: 0;transition: top 0.5s ease;}</style>
</head>
<body><div class="scroll-container"><div id="scrollContent" class="scroll-content"><p>这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。</p></div></div><script>const scrollContent = document.getElementById('scrollContent');const containerHeight = document.querySelector('.scroll-container').clientHeight;let currentTop = 0;function scroll() {currentTop -= 10; // 每次向上移动的距离,可以根据需求调整if (currentTop <= -scrollContent.offsetHeight + containerHeight) {currentTop = 0;}scrollContent.style.top = currentTop + 'px';setTimeout(scroll, 1000); // 每隔1秒滑动一次,可按需调整时间间隔}scroll();</script>
</body>
</html>

在上述代码中:

  • 在 CSS 部分,.scroll-container 设置为相对定位,.scroll-content 设置为绝对定位且初始 top 值为 0,同时添加了 transition: top 0.5s ease,这样改变 top 属性时会有平滑过渡的滑动效果。
  • 在 JavaScript 中,首先获取到要滑动的内容元素 scrollContent 和容器的高度 containerHeight,定义了当前 top 位置变量 currentTopscroll 函数里通过每次减少 currentTop 的值来让内容向上移动(每次移动距离可自行调整),当移动到内容全部滑出容器底部时(通过判断 currentTop 与内容高度和容器高度的关系来确定),就将 currentTop 重置为 0,然后通过 setTimeout 定时器每隔一定时间(这里是 1s)调用一次 scroll 函数,实现循环滑动效果。

三、使用 JavaScript 插件实现(功能丰富、方便快捷,适合快速开发复杂滑动功能)

以 jQuery 和 jQuery.scrollTo 插件为例(适用于熟悉 jQuery 生态的开发者)

jQuery.scrollTo 插件可以方便地实现页面元素的滚动效果,结合 jQuery 的强大功能以及定时器等操作,能够实现内容向上循环滑动。

  1. 引入相关文件
    首先需要在页面中引入 jQuery 库文件以及 jQuery.scrollTo 插件文件,可以通过 CDN 引入,示例如下:
    <head><meta charset="UTF-8"><title>jQuery Scroll Scroll</title><script src="https://code.jquery.com/jquery-3.6.0.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/2.1.2/jquery.scrollTo.min.js"></script>
    </head>
  2. HTML 结构搭建
    创建包含长 HTML 内容的容器元素,示例如下:
<body><div class="scroll-container"><div class="scroll-content"><p>这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。</p></div></div>
</body>
  1. JavaScript 代码实现循环滑动逻辑
<script>$(document).ready(function () {const scrollContainer = $('.scroll-container');const scrollContent = $('.scroll-content');const containerHeight = scrollContainer.height();let currentTop = 0;function scroll() {currentTop -= 10; // 每次向上移动的距离,可以根据需求调整if (currentTop <= -scrollContent.height() + containerHeight) {currentTop = 0;}scrollContent.scrollTo(0, currentTop);setTimeout(scroll, 1000); // 每隔1秒滑动一次,可按需调整时间间隔}scroll();});
</script>

在上述代码中:

  • 页面加载完成后(通过 $(document).ready 函数),获取到滚动容器和内容元素以及容器的高度,定义了当前 top 位置变量 currentTop
  • scroll 函数里通过改变 currentTop 的值来控制内容向上移动,当移动到内容全部滑出容器底部时重置 currentTop,然后使用 scrollTo 方法让内容滚动到指定位置(这里是垂直方向上的 currentTop 位置),最后通过定时器每隔一定时间(1s)调用一次 scroll 函数来实现循环滑动。
以 Swiper 插件为例(功能强大且使用方便,广泛应用于多种滑动场景)

Swiper 是一款流行的滑动插件,本身支持多种滑动模式以及循环滑动等丰富功能,也可以用来实现长 HTML 内容的向上循环滑动。

  1. 引入相关文件
    通过 CDN 引入 Swiper 的 CSS 和 JavaScript 文件,示例如下:
<head><meta charset="UTF-8"><title>Swiper Scroll</title><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@9/swiper-bundle.min.css"><script src="https://cdn.jsdelivr.net/npm/swiper@9/swiper-bundle.min.js"></script>
</head>
  1. HTML 结构搭建
    按照 Swiper 的要求搭建包含长内容的滚动元素结构,示例如下:
<body><div class="swiper-container"><div class="swiper-wrapper"><div class="swiper-slide"><div class="scroll-content"><p>这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。</p></div></div></div></div>
</body>
  1. JavaScript 代码配置 Swiper 实现循环滑动
<script>var swiper = new Swiper('.swiper-container', {direction: 'vertical', // 设置滑动方向为垂直方向loop: true, // 开启循环滑动speed: 500, // 滑动速度,单位毫秒autoplay: {delay: 1000, // 自动播放间隔时间,单位毫秒},});
</script>

在上述代码中:

  • 创建 Swiper 实例,传入容器选择器 .swiper-container,并配置 direction 为 vertical 表示垂直方向滑动,loop 设置为 true 开启循环滑动,还可以指定滑动速度以及自动播放的间隔时间等参数,通过这些配置就可以实现长 HTML 内容向上循环滑动且自动播放的效果了。

总之,你可以根据项目实际情况,比如对性能要求、开发复杂度、是否需要更多交互功能等因素来选择合适的方法实现 HTML 内容向上循环滑动的功能。

四、基于原生 JavaScript 实现触摸滑动(适用于移动端网页,提供更自然的触摸交互体验)

原理

利用移动端的触摸事件(如 touchstarttouchmovetouchend)来监听用户的触摸操作,根据触摸移动的距离动态调整包含长内容元素的位置,从而实现滑动效果。再结合一定的逻辑判断来处理循环滑动的情况,例如当滑动到内容顶部或底部时,让内容回到合适的位置继续滑动,以此实现向上循环滑动效果。

示例代码

以下是一个简单的基于原生 JavaScript 实现移动端 HTML 内容向上循环滑动的示例代码,适合用于移动端网页开发场景:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Native JavaScript Touch Scroll</title><style>/* 容器样式,设置高度、溢出隐藏、相对定位,方便内部元素定位 */.scroll-container {height: 300px;overflow: hidden;position: relative;border: 1px solid #ccc;}/* 要滑动的内容区域样式,设置绝对定位等 */.scroll-content {width: 100%;height: auto;position: absolute;top: 0;left: 0;transition: top 0.3s ease;}</style>
</head>
<body><div class="scroll-container"><div id="scrollContent" class="scroll-content"><p>这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的高度,这样就能看到滑动的效果了。这里是一段很长很长的HTML内容,可能是文章段落、列表等等,为了演示向上循环滑动的效果,我们添加足够多的内容来让它超出容器的height,这样就能看到滑动的效果了。</p></div></div><script>const scrollContainer = document.querySelector('.scroll-container');const scrollContent = document.getElementById('scrollContent');const containerHeight = scrollContainer.clientHeight;let startY = 0; // 记录触摸开始时的纵坐标位置let currentTop = 0; // 当前内容元素的纵坐标位置let isMoving = false; // 标记是否正在触摸移动// 触摸开始事件处理函数scrollContainer.addEventListener('touchstart', function (event) {startY = event.touches[0].pageY;isMoving = true;scrollContent.style.transition = 'none'; // 清除过渡效果,避免滑动卡顿});// 触摸移动事件处理函数scrollContainer.addEventListener('touchmove', function (event) {if (isMoving) {const moveY = event.touches[0].pageY - startY;currentTop += moveY;if (currentTop > 0) {currentTop = 0;}if (currentTop < -scrollContent.offsetHeight + containerHeight) {currentTop = -scrollContent.offsetHeight + containerHeight;}scrollContent.style.top = currentTop + 'px';startY = event.touches[0].pageY;}});// 触摸结束事件处理函数scrollContainer.addEventListener('touchend', function (event) {isMoving = false;scrollContent.style.transition = 'top 0.3s ease';// 判断是否滑动到顶部或底部,若到顶部则重置位置到内容底部继续滑动,若到底部则重置位置到内容顶部继续滑动if (currentTop === 0) {currentTop = -scrollContent.offsetHeight + containerHeight;} else if (currentTop === -scrollContent.offsetHeight + containerHeight) {currentTop = 0;}});</script>
</body>
</html>

在上述代码中:

  • 在 CSS 部分,.scroll-container 设置为相对定位,.scroll-content 设置为绝对定位且初始 top 值为 0,并添加了 transition: top 0.3s ease,用于在触摸结束后让内容滑动有平滑过渡效果。
  • 在 JavaScript 部分:
    • 首先获取相关的 DOM 元素以及容器的高度,并定义了触摸开始纵坐标位置变量 startY、内容当前纵坐标位置变量 currentTop 和标记是否正在移动的变量 isMoving
    • touchstart 事件处理函数中,记录触摸开始的

相关文章:

html内容过长,实现向上循环滑动效果

以下是几种实现 HTML 内容过长时向上循环滑动的常见方法&#xff0c;你可以根据具体需求和项目场景来选择合适的实现方式&#xff1a; 一、使用 CSS3 animation 实现简单的向上循环滑动&#xff08;适用于简单的文本等内容滑动场景&#xff09; 原理 通过 CSS3 的 keyframes…...

RAG(Retrieval-Augmented Generation,检索增强生成)流程

目录 一、知识文档的准备二、OCR转换三、分词处理四、创建向量数据库五、初始化语言聊天模型1.prompt2.检索链3.对话 完整代码 知识文档的准备&#xff1a;首先需要准备知识文档&#xff0c;这些文档可以是多种格式&#xff0c;如Word、TXT、PDF等。使用文档加载器或多模态模型…...

数据库系统概论期末复习

期末考试题型&#xff1a; 选择题 20题 20分 判断题 10题 10分 简答题 4题 20分 SQL语句&#xff1a; &#xff08;select delete update&#xff09;30分 设计题&#xff1a;ER图 和关系模式 ER转关系模式&#xff0c;注意主码&#xff0c;外码的标注 15分 应用题&#xff1a;…...

B树与B+树:数据库索引的秘密武器

想象一下&#xff0c;你正在构建一个超级大的图书馆&#xff0c;里面摆满了各种各样的书籍。B树和B树就像是两种不同的图书分类和摆放方式&#xff0c;它们都能帮助你快速找到想要的书籍&#xff0c;但各有特点。 B树就像是一个传统的图书馆摆放方式&#xff1a; 1. 书籍摆放&…...

数据结构-栈与队列笔记

普通的双端队列 验证图书取出顺序 class Solution {/*** 验证书籍的借阅顺序是否合法。* * param putIn 表示放入书架的书籍序列。* param takeOut 表示从书架取出的书籍序列。* return 如果书籍的借阅顺序合法&#xff0c;返回 true&#xff1b;否则返回 false。*/public boo…...

Netty中用了哪些设计模式?

大家好&#xff0c;我是锋哥。今天分享关于【Netty中用了哪些设计模式&#xff1f;】面试题。希望对大家有帮助&#xff1b; Netty中用了哪些设计模式&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Netty 是一个高性能的网络通信框架&#xff0c;广泛…...

设计模式与游戏完美开发(3)

更多内容可以浏览本人博客&#xff1a;https://azureblog.cn/ &#x1f60a; 该文章主体内容来自《设计模式与游戏完美开发》—蔡升达 第二篇 基础系统 第五章 获取游戏服务的唯一对象——单例模式&#xff08;Singleton&#xff09; 游戏实现中的唯一对象 在游戏开发过程中…...

人工智能的发展领域之GPU加速计算的应用概述、架构介绍与教学过程

文章目录 一、架构介绍GPU算力平台概述优势与特点 二、注册与登录账号注册流程GPU服务器类型配置选择指南内存和存储容量网络带宽CPU配置 三、创建实例实例创建步骤镜像选择与设置 四、连接实例SSH连接方法远程桌面配置 一、架构介绍 GPU算力平台概述 一个专注于GPU加速计算的…...

【51单片机零基础-chapter5:模块化编程】

模块化编程 将以往main中泛型的代码,放在与main平级的c文件中,在h中引用. 简化main函数 将原来main中的delay抽出 然后将delay放入单独c文件,并单独开一个delay头文件,里面放置函数的声明,相当于收纳delay的c文件里面写的函数的接口. 注意,单个c文件所有用到的变量需要在该文…...

彻底学会Gradle插件版本和Gradle版本及对应关系

看完这篇&#xff0c;保你彻底学会Gradle插件版本和Gradle版本及对应关系&#xff0c;超详细超全的对应关系表 需要知道Gradle插件版本和Gradle版本的对应关系&#xff0c;其实就是需要知道Gradle插件版本对应所需的gradle最低版本&#xff0c;详细对应关系如下表格&#xff0…...

容器技术思想 Docker K8S

容器技术介绍 以Docker为代表的容器技术解决了程序部署运行方面的问题。在容器技术出现前&#xff0c;程序直接部署在物理服务器上&#xff0c;依赖管理复杂&#xff0c;包括各类运行依赖&#xff0c;且易变&#xff0c;多程序混合部署时还可能产生依赖冲突&#xff0c;给程序…...

在C程序中实现类似Redis的SCAN机制的LevelDB大规模key分批扫描

在C程序中实现类似Redis的SCAN机制的LevelDB大规模key分批扫描&#xff0c;需要充分利用LevelDB的迭代器&#xff08;iterator&#xff09;功能&#xff0c;以便能够高效地扫描和处理大量的键值对。下面是一个详细的实现指南。 环境准备 首先&#xff0c;确保已经安装了Level…...

多模态论文笔记——CogVLM和CogVLM2

大家好&#xff0c;这里是好评笔记&#xff0c;公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细介绍多模态模型的LoRA版本——CogVLM和CogVLM2。在SD 3中使用其作为captioner基准模型的原因和优势。 文章目录 CogVLM论文背景VLMs 的任务与挑战现有方法及…...

BLDC无感控制的驱动逻辑

如何知道转子已经到达预定位置&#xff0c;因为我们只有知道了转子到达了预定位置之后才能进行换相&#xff0c;这样电机才能顺滑的运转。转子位置检测常用的有三种方式。 方式一&#xff1a;通过过零检测&#xff0c;三相相电压与电机中性点电压进行比较。过零检测的优点在于…...

分布式多机多卡训练全景指南:MPI、DeepSpeed 与 Colossal-AI 深度解析

分布式多机多卡训练技术是深度学习领域提高训练效率和加快模型收敛的重要手段。以下是几个流行的框架和工具&#xff1a; 1. MPI&#xff08;Message Passing Interface&#xff09; 概述 MPI 是一种标准化的消息传递协议&#xff0c;用于多机多卡之间的通信与协作&#xff0c…...

Unity中 Xlua使用整理(一)

1.安装: 从GitHub上下载Xlua源码 Tencent/xLua: xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc. (github.com) 下载Xlua压缩包&#xff0c;并解压将Aseet文件夹中的Xlua和Plugins文件夹复制到Unit…...

在调用 borrowObject 方法时,Apache Commons Pool 会根据连接池的配置触发一系列相关的方法

在调用 borrowObject 方法时&#xff0c;Apache Commons Pool 会根据连接池的配置触发一系列相关的方法 1. GrpcChannel 的概念 GrpcChannel 是 gRPC 客户端与服务器之间通信的核心组件。它是基于 HTTP/2 的连接&#xff0c;支持多路复用&#xff0c;即通过单个通道可以发送多…...

【数据结构与算法:八、排序】

第8章 排序 排序是计算机科学中最基本且最常用的操作之一。本章详细介绍了排序算法的概念、分类、每种算法的定义、图示、代码实现及其应用场景。 8.1 基本概念和排序方法概述 8.1.1 排序的基本概念 排序是指将一组无序的记录按照某种指定的顺序重新排列的过程。 排序的目…...

Unity学习笔记(六)使用状态机重构角色移动、跳跃、冲刺

前言 本文为Udemy课程The Ultimate Guide to Creating an RPG Game in Unity学习笔记 整体状态框架(简化) Player 是操作对象的类&#xff1a; 继承了 MonoBehaviour 用于定义游戏对象的行为&#xff0c;每个挂载在 Unity 游戏对象上的脚本都需要继承自 MonoBehaviour&#x…...

搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程

参考文章&#xff1a; 安装protoc、protoc-gen-go、protoc-gen-go-grpc-CSDN博客 一、简单介绍 本文开发环境&#xff0c;均为 windows 环境&#xff0c;mac 环境其实也类似 ~ ① 编译proto文件&#xff0c;相关插件 简单介绍&#xff1a; protoc 是编译器&#xff0c;用于将…...

策略模式(strategy)

一.策略模式是什么 策略模式是一种行为型对象模式&#xff0c;它定义了一系列算法&#xff0c;并将每一个算法封装起来&#xff0c;使它们可以相互替换。这样&#xff0c;算法可以独立于使用它的客户端而变化‌‌。 策略者模式的核心思想是将一系列的算法封装到一系列的策略类里…...

Centos源码安装MariaDB 基于GTID主从部署(一遍过)

MariaDB安装 安装依赖 yum install cmake ncurses ncurses-devel bison 下载源码 // 下载源码 wget https://downloads.mariadb.org/interstitial/mariadb-10.6.20/source/mariadb-10.6.20.tar.gz // 解压源码 tar xzvf mariadb-10.5.9.tar.gz 编译安装 cmake -DCMAKE_INSTA…...

如何在 VSCode 中配置 C++ 开发环境:详细教程

如何在 VSCode 中配置 C 开发环境&#xff1a;详细教程 在软件开发的过程中&#xff0c;选择一个合适的开发环境是非常重要的。Visual Studio Code&#xff08;VSCode&#xff09;作为一款轻量级的代码编辑器&#xff0c;凭借其强大的扩展性和灵活性&#xff0c;受到许多开发者…...

信息安全、网络安全和数据安全的区别和联系

1. 前言 有次有朋友问我 信息安全、网络安全和数据安全&#xff0c;这三个词平时写文档时怎么用&#xff1f; 我想很多人都说不清。这次我查阅了资料&#xff0c;尽量讲清楚这三者之间的区别和联系。 2. 信息安全 2.1 定义 信息安全是指为数据处理系统建立和采用的技术和管…...

路由组件与一般组件的区别

路由组件与一般组件的区别 1. 基本概念 1.1 路由组件 路由组件是指通过路由规则映射的组件&#xff0c;通常放在 pages 或 views 文件夹中。 1.2 一般组件 一般组件是指通过 import 导入后直接使用的组件&#xff0c;通常放在 components 文件夹中。 2. 主要区别 2.1 存…...

【微服务】4、服务保护

微服务架构与组件介绍 单体架构拆分&#xff1a;黑马商城早期为单体架构&#xff0c;后拆分为微服务架构。跨服务调用与组件使用 服务拆分后存在跨服务远程调用&#xff0c;如下单需查询商品信息&#xff0c;使用openfeign组件解决。服务间调用关系复杂&#xff0c;需维护服务…...

6_TypeScript 函数 --[深入浅出 TypeScript 测试]

在 TypeScript 中&#xff0c;函数是编程的核心组成部分之一。TypeScript 不仅继承了 JavaScript 的所有函数特性&#xff0c;还添加了静态类型检查和其他一些增强功能&#xff0c;使得函数更加安全和易于理解。以下是关于 TypeScript 函数的一些关键点和两个具体的示例&#x…...

Apifox=Postman+Swagger+Jmeter+Mock

A. 开发人员接口管理使用(Swagger 工具管理接口) B. 后端开发人员通过Postman 工具&#xff0c;一边开发一边测试 C. 前端开发人员需要Mock 工具提供前端调用 D. 测试人员通过(Postman、Jmeter)等工具进行接口测试 为了后台开发、前端开发、测试工程师等不同角色更加便捷管理…...

升级 Spring Boot 3 配置讲解 —— Spring Boot 3 核心源码专讲

学会这款 &#x1f525;全新设计的 Java 脚手架 &#xff0c;从此面试不再怕&#xff01; Spring Boot 3 是 Spring 生态中的重要里程碑&#xff0c;它不仅全面支持 Java 17&#xff0c;还引入了许多新特性&#xff0c;如对 GraalVM 原生镜像的支持、改进的性能优化以及更灵活的…...

接口开发完后,个人对于接下来接口优化的一些思考

优化点 入参的合法性和长度范围&#xff0c;必填项的检查验证 因为没有入参&#xff0c;所以不需要考虑。 批量思想解决N1问题 // 假设要查询100个订单及其对应的用户信息 List<Order> orders orderMapper.selectList(new QueryWrapper<>().last("limit …...

jenkins 使用 ssh-agent向windows进行部署

背景&#xff1a; jenkins在linux的docker环境内&#xff0c;应用服务部署在windows。需要使用jenkins实现自动化部署。 实现方式&#xff1a; jenkins上构建pipeline任务&#xff0c;脚本如下&#xff1a; 遇到问题&#xff1a; 1、问题&#xff1a;jenkins 调用部署bat脚…...

音视频入门基础:MPEG2-PS专题(6)——FFmpeg源码中,获取PS流的视频信息的实现

一、引言 通过FFmpeg命令可以获取到PS文件/PS流的视频压缩编码格式、色彩格式&#xff08;像素格式&#xff09;、分辨率、帧率信息&#xff1a; ./ffmpeg -i XXX.ps 本文以H.264为例讲述FFmpeg到底是从哪个地方获取到这些视频信息的。 二、视频压缩编码格式 &#xff08;…...

如果Adobe 退出中国后怎么办

最近听说Adobe要退出中国了?那咱们的设计师们可得好好想想怎么搞到正版软件了。别急&#xff0c;今天教大家一个超酷的福利——Edu邮箱&#xff01; Edu邮箱是什么&#xff1f;有什么好处&#xff1f; Edu邮箱就是学校给学生和老师们发的邮箱&#xff0c;一般结尾是.edu。有了…...

欧几里得距离在权重矩阵中的物理意义

欧几里得距离在权重矩阵中的物理意义 目录 欧几里得距离在权重矩阵中的物理意义**衡量神经元差异程度**:**反映模型变化程度**:**聚类和分组的依据**:自然语言处理中的模型更新:**神经网络聚类分组**:欧几里得距离在权重矩阵中的物理意义衡量神经元差异程度: 在神经网络中…...

玩转大语言模型——ollama导入huggingface下载的模型

ollama导入huggingface模型 前言gguf模型查找相关模型下载模型 导入Ollama配置参数文件导入模型查看导入情况 safetensfors模型下载模型下载llama.cpp配置环境并转换 前言 ollama在大语言模型的应用中十分的方便&#xff0c;但是也存在一定的问题&#xff0c;比如不能使用自己…...

Linux-----进程通讯(管道Pipe)

目录 进程不共享内存 匿名管道 通过匿名管道实现通讯 有名管道 库函数mkfifo() 案例 进程不共享内存 不同进程之间内存是不共享的。是相互独立的。 #include <stdio.h> #include <stdlib.h> #include <errno.h>int num 0;int main(int argc, char con…...

【C++11】列表初始化、右值引用和移动语义、引用折叠、完美转发

C11 一.C的发展历史二.列表初始化1.C98的{}2.C11的{}3.C11中的std::initializer_list 三.右值引用和移动语义1.左值和右值2.左值引用和右值引用3.引用延长生命周期4.左值和右值的参数匹配5.右值引用和移动语义使用场景1.左值引用使用场景2.移动构造和移动赋值3.右值引用和移动语…...

Openssl1.1.1s rpm包构建与升级

rpmbuild入门知识 openssh/ssl二进制升级 文章目录 前言一、资源准备1.下载openssh、openssl二进制包2.安装rpmbuild工具3.拷贝源码包到SOURCES目录下4.系统开启telnet&#xff0c;防止意外导致shh无法连接5.编译工具安装6.补充说明 二、制作 OpenSSL RPM 包1.编写 SPEC 文件2.…...

递归思想的深度理解——汉诺塔问题和青蛙跳台阶问题

递归的深度理解——汉诺塔问题and青蛙跳台阶问题 青蛙跳台阶问题汉诺塔问题 青蛙跳台阶问题 问题&#xff1a;一只青蛙可以一次跳一级台阶&#xff0c;也可以一次跳两级台阶&#xff0c;如果青蛙要跳n级台阶&#xff0c;共有多少种跳法&#xff1f; 解答&#xff1a;我们可以先…...

从数据到诊断:朴素贝叶斯算法助力肿瘤预测之路

1.案例概述 肿瘤性质的判断影响着患者的治疗方式和痊愈速度。传统的做法是医生根据数十个指标来判断肿瘤的性质&#xff0c;预测效果依赖于医生的个人经验而且效率较低&#xff0c;而通过机器学习有望能快速预测肿瘤的性质。 2.数据集 本次肿瘤预测使用的数据集共有569组样本…...

Element-UI:如何实现表格组件el-table多选场景下根据数据对某一行进行禁止被选中?

如何实现表格组件el-table多选场景下根据数据对某一行进行禁止被选中&#xff1f; 在使用 Element UI 的 Table 组件时&#xff0c;如果你想要禁用某一行的选中&#xff08;特别是在多选模式下&#xff09;&#xff0c;可以通过自定义行的 selectable 属性来实现。selectable …...

Dexcap复现代码数据预处理全流程(四)——demo_clipping_3d.py

此脚本的主要功能是可视化点云数据文件&#xff08;.pcd 文件&#xff09;&#xff0c;并通过键盘交互选择演示数据的起始帧和结束帧&#xff0c;生成片段标记文件 (clip_marks.json) 主要流程包括&#xff1a; 用户指定数据目录&#xff1a;检查目录是否存在并处理标记文件 -…...

JWT理解

前言 随着互联网的快速发展&#xff0c;身份验证和授权成为了许多应用的重要需求。JWT&#xff08;JSON Web Token&#xff09;作为一种轻量级的身份验证和授权机制&#xff0c;得到了广泛的应用。本文将为您详细介绍JWT的原理、结构和优点&#xff0c;帮助您更好地理解和应用…...

一种融合联邦学习和大模型特点的全新系统架构

一种融合联邦学习和大模型特点的全新系统架构 以下是一种融合联邦学习和大模型特点的全新系统架构设计: 分层分布式架构 底层 - 数据采集与预处理层:由大量的边缘设备和终端节点组成,如智能手机、物联网传感器等。这些设备负责采集本地数据,并在本地进行初步的数据预处理,…...

html表格table导出excel,主从表格式,带样式.自动分列

html的table导出成excel, vue模板 项目使用xlsx-js-style 源代码从https://github.com/gitbrent/xlsx-js-style/releases/tag/v1.2.0 下载 用里面的dist目录下的文件即可. 复制到vue项目的public目录下的XLSX目录下. 在index.hml中引入js脚本, 为啥要在这里引入? 是因为这里…...

U8G2库使用案例(stm32)

目录 一、小球在 OLED 屏幕平面内运动并碰撞反弹的效果 二、 简单的波形生成和显示程序: 三、三维三角形旋转展示 四、正方形平面内顺时针旋转 五、带有旋转点的空心圆圈应用 六、字幕滚动效果 七、下雪动画效果 八、进度条动画效果 自己移植的U8g2库&#xff0c;OLED库…...

067B-基于R语言平台Biomod2模型的物种分布建模与数据可视化-高阶课程【2025】

课程培训包含&#xff1a;发票全套软件脚本学习数据视频文件导师答疑 本教程旨在通过系统的培训学习&#xff0c;学员可以掌握Biomod2模型最新版本的使用方法&#xff0c;最新版包含12个模型&#xff08;ANN, CTA, FDA, GAM, GBM, GLM, MARS, MAXENT, MAXNET, RF, SRE, XGBOOST…...

【通俗理解】AI的两次寒冬:从感知机困局到深度学习前夜

AI的两次寒冬&#xff1a;从感知机困局到深度学习前夜 引用&#xff08;中英双语&#xff09; 中文&#xff1a; “第一次AI寒冬&#xff0c;是因为感知机局限性被揭示&#xff0c;让人们失去了对算法可行性的信心。” “第二次AI寒冬&#xff0c;则是因为专家系统的局限性和硬…...

141.《mac m系列芯片安装mongodb详细教程》

文章目录 下载从官网下载安装包 下载后双击解压出文件夹安装文件名修改为 mongodb配置data存放位置和日志log的存放位置启动方式一方式二方式二:输入mongo报错以及解决办法 本人电脑 m2 pro,属于 arm 架构 下载 官网地址: mongodb官网 怎么查看自己电脑应该下载哪个版本,输入…...

【Linux】sed编辑器

一、基本介绍 sed编辑器也叫流编辑器&#xff08;stream editor&#xff09;&#xff0c;它是根据事先设计好得一组规则编辑数据流。 交互式文本编辑器&#xff08;如Vim&#xff09;中&#xff0c;可以用键盘命令交互式地插入、删除或替换文本数据。 sed编辑器是根据命令处理…...