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())操作

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Github自定义readme文件 个人主页简介 模版

自己写的 样式 # &#x1f44b; Hi bro , Im Dduo ! Glad to meet you &#x1f601;&#x1f60d;&#x1f61c;- &#x1f4da; Im Dduo, a student. Feel free to reach out if youd like to chat or collaborate! &#x1f60a; - &#x1f4ac; Dont hesitate to reach …

【工业安全】-CVE-2022-35561- Tenda W6路由器 栈溢出漏洞

文章目录 1.漏洞描述 2.环境搭建 3.漏洞复现 4.漏洞分析 4.1&#xff1a;代码分析 4.2&#xff1a;流量分析 5.poc代码&#xff1a; 1.漏洞描述 漏洞编号&#xff1a;CVE-2022-35561 漏洞名称&#xff1a;Tenda W6 栈溢出漏洞 威胁等级&#xff1a;高危 漏洞详情&#xff1…

CondaValueError: Malformed version string ‘~‘: invalid character(s)

CondaValueError: Malformed version string ‘~‘: invalid character(s) 送一张 GPT plus 、 deepseek-R1 满血 体验卡&#xff5e; https://bbs.csdn.net/topics/619568415 ​ 报错原因 使用conda安装一些库时出现以下报错&#xff1a; CondaValueError: Malformed versio…

渗透利器:YAKIT 工具-基础实战教程.

YAKIT 工具-基础实战教程. YAKIT&#xff08;Yak Integrated Toolkit&#xff09;是一款基于Yak语言开发的集成化网络安全单兵工具&#xff0c;旨在覆盖渗透测试全流程&#xff0c;提供从信息收集、漏洞扫描到攻击实施的自动化支持。其核心目标是通过GUI界面降低Yak语言的使用…

【Git版本控制器】:第一弹——Git初识,Git安装,创建本地仓库,初始化本地仓库,配置config用户名,邮箱信息

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux网络编程 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 ​ 相关笔记&#xff1a; https://blog.csdn.net/dj…

数据结构(6)

注意&#xff1a;只有前序和中序或者后序和中序才能还原二叉树。 1.创建一个二叉树 2.遍历一个二叉树&#xff08;前序遍历&#xff0c;后序和中序遍历与此类似&#xff09; 3.寻找二叉树的节点个数和层数 4.销毁二叉树 5.层序遍历

LabVIEW用户界面设计原则

在LabVIEW开发中&#xff0c;用户界面&#xff08;UI&#xff09;设计不仅仅是为了美观&#xff0c;它直接关系到用户的操作效率和体验。一个直观、简洁、易于使用的界面能够大大提升软件的可用性&#xff0c;尤其是在复杂的实验或工业应用中。设计良好的UI能够减少操作错误&am…

大语言模型入门

大语言模型入门 1 大语言模型步骤1.1 pre-training 预训练1.1.1 从网上爬数据1.1.2 tokenization1.1.2.1 tokenization using byte pair encoding 1.3 预训练1.3.1 context1.3.2 training1.3.3 输出 1.2 post-training1.2.1 token 1.2 SFT监督微调1.3 人类反馈强化学习1.3.1 人…

Windows 11 下 Ollama 安装与 OpenWebUI 调用 DeepSeek-R1 的详细指南

文章目录 Windows 11 下 Ollama 安装与 OpenWebUI 调用 DeepSeek-R1 的详细指南一、Ollama 的安装与配置1. 下载 Ollama2. 安装 Ollama3. 验证 Ollama 安装 二、部署 DeepSeek-R1 模型1. 拉取 DeepSeek-R1 模型2. 启动 DeepSeek-R1 模型 三、OpenWebUI 的安装与配置1. 安装 Pyt…

JVM ②-双亲委派模型 || 垃圾回收GC

这里是Themberfue 在上节课对内存区域划分以及类加载的过程有了简单的了解后&#xff0c;我们再了解其他两个较为重要的机制&#xff0c;这些都是面试中常考的知识点&#xff0c;有必要的话建议背出来&#xff0c;当然不是死记硬背&#xff0c;而是要有理解的背~~~如果对 JVM …

君海游戏岗位,需要私我

游戏岗位内推啦&#xff0c;需要找我哈 共14个职位 广告投放主管 社会招聘全国 广告投放 社会招聘全国 设计主管 社会招聘全国 海外投放 社会招聘广东省广州市 海外运营 社会招聘广东省广州市 产品运营专员 社会招聘广东省广州市 平台运营 社会招聘广东…

制药行业 BI 可视化数据分析方案

一、行业背景 随着医药行业数字化转型的深入&#xff0c;企业积累了海量的数据&#xff0c;包括销售数据、生产数据、研发数据、市场数据等。如何利用这些数据&#xff0c;挖掘其价值&#xff0c;为企业决策提供支持&#xff0c;成为医药企业面临的重大挑战。在当今竞争激烈的…

【BUUCTF逆向题】[WUSTCTF2020]level3(魔改base64)

一.[WUSTCTF2020]level3 打开IDA反汇编&#xff0c;发现就是base64加密 这里rand就是与&搭配设置奇偶数2分随机 但是根据提示不是标准base64加密 首先想到魔改密码表&#xff0c;追踪进去&#xff0c;发现没有什么变化啊 尝试对Base64字符串解码也不对 追踪密码表CtrlX发…

文字转语音(三)FreeTTS实现

项目中有相关的功能&#xff0c;就简单研究了一下。 说明 FreeTTS 是一个基于 Java 的开源文本转语音&#xff08;TTS&#xff09;引擎&#xff0c;旨在将文字内容转换为自然语音输出。 FreeTTS 适合对 英文语音质量要求低、预算有限且需要离线运行 的场景&#xff0c;但若需…

【Prometheus】prometheus结合cAdvisor监控docker容器运行状态,并且实现实时告警通知

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

HTML应用指南:利用GET请求获取全国海底捞门店位置信息

随着新零售业态的快速发展&#xff0c;门店位置信息的获取变得越来越重要。作为餐饮服务行业的先锋&#xff0c;海底捞不仅在服务质量上持续领先&#xff0c;还积极构建广泛的门店网络&#xff0c;以支持其不断增长的用户群体。为了更好地理解和利用这些数据&#xff0c;本篇文…

Arduino 第十六章:pir红外人体传感器练习

Arduino 第十六章&#xff1a;PIR 传感器练习 一、引言 在 Arduino 的众多有趣项目中&#xff0c;传感器的应用是非常重要的一部分。今天我们要学习的主角是 PIR&#xff08;被动红外&#xff09;传感器。PIR 传感器能够检测人体发出的红外线&#xff0c;常用于安防系统、自动…

Spring Data JPA 基本用法笔记整理

写在前面&#xff1a; 之前一直写MyBatis&#xff0c;去年开始做的这个新项目用的是JPA&#xff0c;整理了一些基本使用方法 1、 集成方法&#xff1a; 1.1 引入依赖 <!--spring data 依赖--> <dependency><groupId>org.springframework.data</groupI…

leetcode-495.提莫攻击

leetcode-495.提莫攻击 文章目录 leetcode-495.提莫攻击一.题目描述二.代码提交三.解释 一.题目描述 二.代码提交 #include <vector> using namespace std;int findPoisonedDuration(vector<int>& timeSeries, int duration) {int total 0;for (int i 0; i …

团队没有测试人员,要快速完成测试?

有同学提问:产品没有专职的测试人员,要怎么才能快速完成测试? 先说结论,这个问题并没有标准答案 没有测试岗位只是没有专门负责这个职能的人员,但测试这个事并没有消失 快速完成测试,其实应该换种说法,就是快速建立质量信心。 因为测试无穷尽,所以没有绝对的完成测试…