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

DeepSeek 助力 Vue 开发:打造丝滑的返回顶部按钮(Back to Top)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕

共同探索软件研发!敬请关注【宝码香车】
关注描述

csdngif标识

目录

  • DeepSeek 助力 Vue 开发:打造丝滑的返回顶部按钮(Back to Top)
    • 📚前言
    • 📚进入安装好的DeepSeek
    • 📚页面效果
    • 📚指令输入
    • 📚think
      • 📘根据您的需求,我为您创建了一个BackToTop组件。以下是实现步骤和代码:
      • 📘组件特性说明:
    • 📚代码测试
    • 📚页面效果
    • 📚自己部署 DeepSeek 安装地址
    • 📚相关文章


📚📗📕📘📖🕮💡📝🗂️✍️🛠️💻🚀🎉🏗️🌐🖼️🔗📊👉🔖⚠️🌟🔐⬇️·正文开始⬇️·🎥😊🎓📩😺🌈🤝🤖📜📋🔍✅🧰❓📄📢📈 🙋0️⃣1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣🔟🆗*️⃣#️⃣

DeepSeek 助力 Vue 开发:打造丝滑的返回顶部按钮(Back to Top)

📚前言

2023 年 11 月 2 日:发布首个开源代码大模型 DeepSeek Coder,支持多种编程语言的代码生成、调试和数据分析任务。这一模型的发布,标志着 DeepSeek 在大语言模型领域迈出了重要的第一步。它为开发者提供了强大的代码生成工具,能够帮助开发者快速生成高质量的代码,提高开发效率。同时,该模型的开源策略也吸引了众多开发者的关注和参与,为 DeepSeek 在开源社区中积累了良好的口碑。

2024 年 5 月:发布第二代开源混合专家(MoE)模型 DeepSeek-V2,总参数达 2360 亿,推理成本降至每百万 token 仅 1 元人民币。DeepSeek-V2 采用了创新的架构,例如注意力机制方面的 MLA(多头潜在注意力)和前馈网络方面的 DeepSeekMoE 架构等,以实现具有更高经济性的训练效果和更高效的推理。该模型的 API 定价仅为每百万 tokens 输入 1 元、输出 2 元,价格仅为 GPT-4 Turbo 的百分之一,引发了中国 AI 大模型的价格战。这一模型的发布,展示了 DeepSeek 在模型架构和成本控制方面的创新能力,使得大语言模型的应用成本大幅降低,为更多企业和开发者使用大语言模型提供了可能。

📚进入安装好的DeepSeek

0基础3步部署自己的DeepSeek安装步骤

打开搭建好的DeepSeek应用。

DeepSeek应用

进入应用。

进入DeepSeek应用

📚页面效果

页面效果

📚指令输入

功能要有
container(按钮容器,支持输入html,默认是一个↑箭头,container居中显示在按钮中)
size(按钮大小,类型是string,可选值是 small[20x20]px normal[40x40]px big[60x60]px)
right(控制其显示位置,距离页面右边距, 类型 string,默认40px)
bottom(控制其显示位置,距离页面底部距离, 类型 string,默认40px)
下面是现有目录
vueAndDeepseek/
├── src/ # 源代码目录
│ ├── assets/ # 静态资源
│ │ ├── base.css
│ │ ├── main.css
│ │ └── logo.svg
│ ├── components/ # 组件目录
│ │ ├── HelloWorld.vue
│ │ ├── TheWelcome.vue
│ │ ├── WelcomeItem.vue
│ │ ├── Progress/
│ │ │ └── Progress.vue
│ │ ├── Accordion/
│ │ ├── BackToTop/
│ │ ├── Timeline/
│ │ ├── Tabs/
│ │ └── icons/
│ ├── router/ # 路由配置
│ │ └── index.js
│ ├── stores/ # Pinia 状态管理
│ │ └── counter.js
│ ├── views/ # 页面组件
│ │ ├── ProgressView.vue
│ │ ├── TabsView.vue
│ │ ├── TimelineView.vue
│ │ ├── BackToTopView.vue
│ │ ├── AccordionView.vue
│ │ └── AboutView.vue
│ ├── App.vue # 根组件
│ └── main.js # 应用入口
├── public/ # 公共资源目录
├── index.html # HTML 模板
├── package.json # 项目配置
├── vite.config.js # Vite 配置
└── node_modules/ # 依赖包目录

📚think

好吧,我现在需要帮助用户解决在他们的Vue项目中实现一个自定义按钮容器的问题。根据用户提供的信息,功能要求包括支持内联HTML、默认显示一个↑箭头,并且容器要居中显示在按钮中。此外,还有size属性来控制按钮大小,分别是small、normal和big,对应的尺寸为20x20px、40x40px和60x60px。另外,right和bottom属性可以控制按钮距离页面右边和底部的距离,分别默认为40px。

首先,我需要明确用户的项目结构,他们已经有一个 Vue 和 Nuxt 项目结构。主要关注点在components目录下的自定义组件实现上。用户可能已经有部分代码,但需要补充或修正。

我应该从创建一个新的Vue组件开始,这个组件将是容器,名为ButtonContainer.vue。该组件需要接受 props,包括size、right、bottom和children(用于内联的HTML内容)。

接下来,我会设计这个组件的模板结构。在模板中,我需要使用vue-iuion这个库中的div作为容器,因为它可以在Flex布局中居中内容。设置类名,比如container,内部又有button-container来控制按钮的位置。

然后,我需要处理size属性,将其转换为具体的px值,并应用到对应的样式类上,比如使用sizes-classes:比如small对应 text-20、normal对应text-40,big对应text-60。同样地,right和bottom属性也要转换成数值并作为CSS变量。

另外,我需要确保容器能够居中显示,所以可能会设置container的内边距,并使用flexbox或grid布局来中心对齐内容。此外,还需处理不同size情况下的尺寸,比如small时,整个容器大小是20x20,而button-container则可能根据内容自动调整。

在样式部分,我需要定义base.css和main.css,以支持这些样式类。比如,设置button-container的内边距,以及如何居中显示。这可能涉及到position: absolute、right和bottom属性的应用,并结合 viewport的位置来确定相对定位。

我还应该考虑在组件内部添加一些条件判断,比如根据size的不同,选择不同的文本大小。或者,更好的方式是将size映射到不同的类名,这样可以避免在每个标签上多次添加样式。

最后,我需要确保用户能够正确地使用这个组件。比如,在其他Vue组件中导入并使用它,并传递所需的属性。例如:

<TheWelcome>
<ButtonContainer :size="small" :right="40" :bottom="40">
<p>这是一个内联的按钮容器</p>
</ButtonContainer>
</TheWelcome>

可能需要注意的是,如果用户没有安装vue-iuion库,那么组件在运行时会报错,因此我应该提醒他们确保安装了必要的依赖。

总结一下,我需要创建一个组件,处理props,并通过样式实现size、right和bottom的控制,同时确保内容居中显示。接下来,我应该写出详细的步骤,并确保代码部分正确无误。

📘根据您的需求,我为您创建了一个BackToTop组件。以下是实现步骤和代码:

  1. 创建组件文件
    components/BackToTop/BackToTop.vue 中添加:
<template><div class="back-to-top":style="positionStyle"@click="scrollToTop"><slot><div class="default-container"></div></slot></div>
</template><script setup>
import { computed } from 'vue';const props = defineProps({size: {type: String,default: 'normal',validator: (v) => ['small', 'normal', 'big'].includes(v)},right: {type: String,default: '40px'},bottom: {type: String,default: '40px'}
});const sizeMap = {small: '20px',normal: '40px',big: '60px'
};const positionStyle = computed(() => ({right: props.right,bottom: props.bottom,width: sizeMap[props.size],height: sizeMap[props.size]
}));const scrollToTop = () => {window.scrollTo({top: 0,behavior: 'smooth'});
};
</script><style scoped>
.back-to-top {position: fixed;display: flex;align-items: center;justify-content: center;cursor: pointer;background: #ffffff;border: 1px solid #e0e0e0;border-radius: 50%;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);transition: transform 0.2s ease,box-shadow 0.2s ease;
}.back-to-top:hover {transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}.default-container {font-size: 1.5em;font-weight: bold;user-select: none;
}
</style>
  1. 创建示例页面
    views/BackToTopView.vue 中添加:
<template><div class="demo-container"><h1>返回顶部组件演示</h1><div class="scroll-content"><!-- 长内容用于滚动测试 --><div v-for="n in 100" :key="n">{{ n }}</div></div><!-- 默认样式 --><BackToTop /><!-- 小尺寸 --><BackToTop size="small" bottom="100px" /><!-- 自定义位置和内容 --><BackToTop size="big"right="60px"bottom="120px"><div class="custom-content"><svg ...>自定义SVG图标</svg></div></BackToTop></div>
</template><script setup>
import BackToTop from '@/components/BackToTop/BackToTop.vue';
</script><style scoped>
.scroll-content {height: 200vh;padding: 20px;background: linear-gradient(to bottom, #ffffff, #f0f0f0);
}.custom-content {display: flex;align-items: center;justify-content: center;width: 100%;height: 100%;color: #2196f3;font-size: 24px;
}
</style>
  1. 配置路由
    router/index.js 中添加路由:
{path: '/back-to-top',name: 'BackToTop',component: () => import('@/views/BackToTopView.vue')
}

📘组件特性说明:

  1. 定位系统
  • 使用 position: fixed 实现固定定位
  • 通过 props 接收 right/bottom 值(支持所有CSS单位)
  1. 尺寸系统
  • 预设三种尺寸(small/normal/big)
  • 使用尺寸映射表实现快速配置
  1. 内容扩展
  • 使用默认插槽支持HTML内容
  • 默认显示简洁的箭头符号
  • 支持通过插槽完全自定义内容
  1. 交互优化
  • 悬停浮动效果(transform + box-shadow)
  • 平滑滚动动画(behavior: ‘smooth’)
  • 点击状态反馈(cursor: pointer)
  1. 视觉优化
  • 圆形边框(border-radius: 50%)
  • 微投影设计(box-shadow)
  • 抗锯齿处理(user-select: none)

使用建议:

  1. 基础用法
<BackToTop />
  1. 自定义位置
<BackToTop right="5%" bottom="10%" />
  1. 自定义内容
<BackToTop><div class="custom"><img src="@/assets/arrow-up.svg"><span>TOP</span></div>
</BackToTop>
  1. 响应式适配
<BackToTop :right="isMobile ? '10px' : '40px'":bottom="isMobile ? '10px' : '40px'"
/>

该组件已实现您要求的所有功能,并额外添加了悬停动效和视觉优化。通过组合使用props和插槽,可以灵活适应各种使用场景。

📚代码测试

示例代码中有个svg 无路径,换成了📘,其他正常

📚页面效果

页面效果

📚自己部署 DeepSeek 安装地址

蓝耘元生代智算云平台地址:https://cloud.lanyun.net/#/registerPage?promoterCode=07100c37a0

📚相关文章

 

———— 相 关 文 章 ————

 

  1. 0基础3步部署自己的DeepSeek安装步骤

  2. DeepSeek 助力 Vue 开发:打造丝滑的步骤条

  3. DeepSeek 助力 Vue 开发:打造丝滑的进度条

  4. 自己部署 DeepSeek 助力 Vue 开发:打造丝滑的标签页(Tabs)

  5. 自己部署 DeepSeek 助力 Vue 开发:打造丝滑的折叠面板(Accordion)

  6. 自己部署 DeepSeek 助力 Vue 开发:打造丝滑的时间线(Timeline )

到此这篇文章就介绍到这了,更多精彩内容请关注本人以前的文章或继续浏览下面的文章,创作不易,如果能帮助到大家,希望大家多多支持宝码香车~💕,若转载本文,一定注明本文链接。


整理不易,点赞关注宝码香车

更多专栏订阅推荐:
👍 html+css+js 绚丽效果
💕 vue
✈️ Electron
⭐️ js
📝 字符串
✍️ 时间对象(Date())操作

相关文章:

DeepSeek 助力 Vue 开发:打造丝滑的返回顶部按钮(Back to Top)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

【前端开发学习笔记15】Vue_8

手动添加Pinia到Vue项目&#xff1a; 在实际开发中&#xff0c;Pinia配置可在项目创建时自动添加。初次学习从零开始&#xff1a; 1. 用Vite创建空的Vue3项目&#xff0c;命令为npm create vuelatest。 2. 按官方文档将pinia安装到项目中。 import { createApp } from vue im…...

deepin linux UOS AI 使用 deepseek-r1 30B

我们用 ollama 下载 deepseek-r1 3B 执行命令: $ ollama pull models/unsloth/DeepSeek-R1-Distill-Qwen-32B-GGUF 下载完成后 我们就要重新更改目录和文件了 deepseek-r1/gguf (这是目录结构) 然后我把 gguf文件 更名成 DeepSeek-R1.gguf (就是目录下最大的那个文件) …...

通过docker启用rabbitmq插件

创建文件&#xff0c;docker-compose.yml services:rabbitmq:image: rabbitmq:4.0-managementports:- "5672:5672"- "15672:15672"volumes:- ./data/rabbitmq/data:/var/lib/rabbitmq # 持久化数据- ./data/rabbitmq/plugins/rabbitmq_delayed_message_ex…...

对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 与基于 openEuler 构建 LVS-DR 群集

一、 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式&#xff0c;比较其各自的优势 NAT 模式 部署简单&#xff1a;NAT 模式下&#xff0c;所有的服务器节点只需要连接到同一个局域网内&#xff0c;通过负载均衡器进行网络地址转换&#xff0c;就可以实现负载均衡功能。不需要对…...

C++17 中 std::lcm:从入门到精通

文章目录 一、引言二、std::lcm 的基本概念三、入门示例四、计算多个整数的最小公倍数五、std::lcm 的实现原理六、在实际项目中的应用七、注意事项八、总结 一、引言 在 C 编程中&#xff0c;处理数学运算时&#xff0c;计算最小公倍数&#xff08;Least Common Multiple&…...

html 点击弹出视频弹窗

一、效果: 点击视频按钮后,弹出弹窗 播放视频 二、代码 <div class="index_change_video" data-video-src="</...

docker安装mongo,导入、导出数据

1、docker安装mongo docker pull mongo docker run -d -p 27017:27017 --name mongodb mongodocker update mongodb --restartalways ## 开机自启动-d&#xff1a;表示以后台模式运行容器。 -p 27017:27017&#xff1a;将容器内部的 MongoDB 默认端口 27017 映射到宿主机的 27…...

代码随想录算法【Day44】

Day44 1143.最长公共子序列 class Solution { public:int longestCommonSubsequence(string text1, string text2) {vector<vector<int>> dp(text1.size() 1, vector<int>(text2.size() 1, 0));for (int i 1; i < text1.size(); i) {for (int j 1; …...

项目总结:java agent的使用

测试团队会做java agent的事&#xff0c;实现测试模拟&#xff0c;各种数据采集等等工作&#xff0c;而这些不需要开发改代码来做到&#xff0c;只需要挂载下agent。 目录 javaagent认识和例子代码例子&#xff1a;java.lang.instrument自定义实现一个javaagentagent jar测试 回…...

使用 LangChain 对接硅基流动(SiliconFlow)API:构建一个智能对话系统

文章目录 什么是硅基流动&#xff08;SiliconFlow&#xff09;&#xff1f;LangChain 简介在 LangChain 中对接硅基流动步骤 1&#xff1a;安装必要的库步骤 2&#xff1a;设置 API 密钥步骤 3&#xff1a;编写代码代码解析步骤 4&#xff1a;运行代码如何扩展和改进总结 在现代…...

如何借助NoETL指标平台实现数据分析、决策的提效?

通常&#xff0c;企业通过明确分析目标、定位所需分析的数据&#xff0c;再通过多渠道汇集销售数据、客户反馈、市场调研等信息&#xff0c;经过数据清洗、缺失值处理及格式标准化等手段&#xff0c;运用描述性统计、回归分析、聚类分析及关联规则挖掘等多样分析方法&#xff0…...

Java--IO流详解 (上)--字符流

目录 IO流的概念 字符流 输入流 Reader核心方法 1.close() 2.mark(int readAheadLimit) 3.markSupported() 4.read() 5.read(char[] cbuf) 6.read(char[] cbuf, int off, int len) 7.read(CharBuffer target) 8.ready() 9.reset() 10.skip(long n) Reader 的常用…...

大模型语言简介

大模型语言能做什么 信息提取 将长段文字中的信息抽取出来并且以结构化的方式输出。相比起传统NLP的方式&#xff0c;大模型在泛化能力上有非常大的提升&#xff0c;并且开发成本要低2个数量级。应用场景包括&#xff1a;论文论点论据提取、用户画像提取、舆情分析、病例结构…...

手动配置IP

手动配置IP&#xff0c;需要考虑四个配置项&#xff1a; 四个配置项 IP地址、子网掩码、默认网关、DNS服务器 IP地址&#xff1a;格式表现为点分十进制&#xff0c;如192.168.254.1 子网掩码&#xff1a;用于区分网络位和主机位 【子网掩码的二进制表达式一定是连续的&#…...

Golang 进阶训练营

一、Golang 的 slice、map、channel 1.1 slice vs array a : make([]int, 100) //切片 b : [100]int{} //数组array需指明长度&#xff0c;长度为常量且不可改变 array长度为其类型中的组成部分&#xff08;给参数为长度100的数组的方法传长度为101的会报错&#xff09; array在…...

2-使用wifidog实现portal

wifidog是openwrt上面实现portal认证的一个开源工具&#xff0c;从网关端到服务器都帮你搭建好&#xff0c;通过学习wifidog的原理&#xff0c;后面就可以改造成自己需要的逻辑。 1. openwrt安装wifidog 添加源 vim 14.07/feeds.conf.defaultsrc-git wifidog https://github.c…...

Spring Boot + ShardingSphere 踩坑记

最近在准备秋招&#xff0c;偷了个轮子项目之后想改个分表&#xff0c;于是有了这篇文章。 省流&#xff1a;请使用shardingsphere-jdbc 5.5.2&#xff0c;并根据官方5.5.2版本文档进行配置&#xff0c;不要使用starter。此外&#xff0c;如果希望使用INTERVAL分片算法&#x…...

AI时代前端开发的创造力:解放还是束缚?

在人工智能&#xff08;AI&#xff09;快速发展的时代&#xff0c;AI技术的影响已经渗透到各个领域&#xff0c;从医疗保健到金融服务&#xff0c;再到创意产业。AI工具的出现&#xff0c;为前端开发带来了前所未有的效率提升&#xff0c;但也引发了人们对创造力的担忧&#xf…...

有哪些免费的SEO软件优化工具

随着2025年互联网的不断发展&#xff0c;越来越多的企业意识到在数字营销中&#xff0c;网站的曝光度和排名至关重要。无论是想要提高品牌知名度&#xff0c;还是想要通过在线销售增加收益&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;都是一项不可忽视的关键策略。而要…...

FastExcel + Java:打造高效灵活的Excel数据导入导出解决方案

作者&#xff1a;后端小肥肠 &#x1f347; 我写过的文章中的相关代码放到了gitee&#xff0c;地址&#xff1a;xfc-fdw-cloud: 公共解决方案 &#x1f34a; 有疑问可私信或评论区联系我。 &#x1f951; 创作不易未经允许严禁转载。 姊妹篇&#xff1a; 基于AOP的数据字典实现…...

在Vue中,JavaScript数组常用方法,添加,插入,查找,删除等整理

在Vue中&#xff0c;JavaScript数组常用&#xff0c;添加&#xff0c;插入&#xff0c;查找&#xff0c;删除等整理 1.splice()方法可以直接修改原数组&#xff0c;通过指定要删除元素的索引来删除它。 例&#xff1a; let index // 要删除的元素的索引; this.array.splice(i…...

vue知识点2

1.methods和mounted的区别 methods是定义方法&#xff0c;不涉及到调用 mounted涉及到操作 所以methods后面是&#xff1a;&#xff0c;mounted后面是&#xff08;&#xff09; 2.介绍一下emit的用法 如果子控件要调用父页面的方法&#xff0c;在父页面的子控件引用处&…...

node.js + html调用ChatGPTApi实现Ai网站demo(带源码)

文章目录 前言一、demo演示二、node.js 使用步骤1.引入库2.引入包 前端HTML调用接口和UI所有文件总结 前言 关注博主&#xff0c;学习每天一个小demo 今天是Ai对话网站 又到了每天一个小demo的时候咯&#xff0c;前面我写了多人实时对话demo、和视频转换demo&#xff0c;今天…...

14.Python生成器、迭代器、闭包、装饰器、元类、垃圾回收、内建函数

在 Python 中&#xff0c;生成器、迭代器、闭包、装饰器、元类、垃圾回收和内建函数是一些重要的概念和功能&#xff0c;它们对于编写高效、灵活的代码非常重要。下面我们逐一详细介绍这些概念及其用法。 1. 生成器&#xff08;Generator&#xff09; 生成器是一个函数&#…...

STM32+Proteus+DS18B20数码管仿真实验

1. 实验准备 硬件方面&#xff1a; 了解 STM32 单片机的基本原理和使用方法&#xff0c;本实验可选用常见的 STM32F103 系列。熟悉 DS18B20 温度传感器的工作原理和通信协议&#xff08;单总线协议&#xff09;。数码管可选用共阴极或共阳极数码管&#xff0c;用于显示温度值。…...

Vulhub靶机 ActiveMQ 反序列化漏洞(CVE-2015-5254)(渗透测试详解)

一、开启vulhub环境 docker-compose up -d 启动 docker ps 查看开放的端口 漏洞版本&#xff1a;Apache ActiveMQ 5.x ~ Apache ActiveMQ 5.13.0 二、访问靶机IP 8161端口 默认账户密码 admin/admin&#xff0c;登录 此时qucues事件为空 1、使用jmet-0.1.0-all.jar工具将…...

ConcurrentHashMap扩容

目录 一、tryPreSize方法-初始化数组 二、tryPreSize方法-扩容标识戳 三、transfer方法-构建新数组 四、transfer方法-迁移数据 五、transfer方法-lastRun机制 六、helpTransfer方法-协助扩容 三种触发方式 达到了扩容的阈值 一、tryPreSize方法-初始化数组 // 扩容前…...

2025年二级建造师报名流程图解

2025年二级建造师报名时间&#xff01;附报名流程&#xff01; ⏰️已公布25年二建考试时间的省份如下&#xff1a; ️4月19日、20日考试的城市有&#xff1a;贵州 ️5月10日、11日考试的城市有&#xff1a;湖北、陕西、宁夏、甘肃、福建、浙江、江西、黑龙江、河南、湖南、…...

【自学笔记】人工智能基础知识点总览-持续更新

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 人工智能重点知识点总览一、基础概念与原理1.1 人工智能定义与发展1.2 算法与数据结构1.3 数学基础 二、机器学习2.1 监督学习2.2 无监督学习2.3 强化学习 三、深度…...