使用chatGPT实现数字自增动画

num-auto-add:数字自增动画

序言

我们经常在一些好的网站上遇到数字自增的动画效果,为用户提供了更加丰富的交互体验,看起来非常酷。

请添加图片描述

我之前也有写过,为了方便以后使用,打算将它优化,并上传到npm中。

首先第一步,就是将代码交给chatGPT优化。

可以发现,除了定时器的时间间隔变了,并没有多的变化

请添加图片描述

继续让chatGPT优化,此时它把用定时器实现动画效果改成用requestAnimationFrame来实现,动画效果更加丝滑了,真不错。

请添加图片描述

看它输出一大堆,以为很牛逼,然而一运行代码,结果都跑不起来。

总的来说,chatGPT目前只能辅助写代码,逻辑稍微复杂一点就会出错,包括代码的注释都是有问题的,还是得靠自己修修改改。

最终小demo的地址为:num-auto-add - npm (npmjs.com) ,欢迎各位大佬下载使用。

使用教程(vue项目中使用举例)

1.下载包

  • 用yarn下载yarn add num-auto-add
  • 用npm下载npm i num-auto-add

2.引入包

import numAutoAdd from "num-auto-add";

3.声明自定义指令

Vue.directive('numAutoAdd', numAutoAdd());

注意:numAutoAdd可以函数接收两个参数

  • 第一个参数是设置动画执行的总时间(以毫秒为单位),默认是700ms
  • 第二个参数是布尔标志many,用于指示动画是可以执行多次还是只执行一次,默认为true,也就是可以执行多次。

4.给数字绑定指令

请添加图片描述

到此,就实现数字自增效果了,使用起来非常简单

实现原理

源代码如下:

export default function(totalTime = 700, many = true) {function animateNumber(el, finalNum, startTime) {const currentTime = Date.now();const runTime = currentTime - startTime; // 运行时间const progress = Math.min(runTime / totalTime, 1); // 动画进度el.innerHTML = Math.floor(finalNum * progress); // 当前页面显示的数字if (runTime < totalTime) {requestAnimationFrame(() => animateNumber(el, finalNum, startTime));}}return {// 当被绑定的元素插入到 DOM 时调用inserted: function(el, binding) {// flag用来判断是否能执行动画,防止一个时间段内触发多次动画函数binding.flag = true;// 元素在可视区域内才开始执行动画的函数binding.animate = () => {// 获取元素距离可视区域顶部的距离const top = el.getBoundingClientRect().top;// 获取浏览器可视区域的高度(这里考虑了浏览器兼容的问题)const h =document.documentElement.clientHeight || document.body.clientHeight;// 当元素在可视区域内if (top < h) {// 如果动画没在执行if (binding.flag) {binding.flag = false;const finalNum = el.innerHTML; // 要显示的真实数值animateNumber(el, finalNum, Date.now()); // 执行数字自增动画// 如果只执行一次动画,则解绑滚动事件!many && window.removeEventListener("scroll", binding.animate);}} else {binding.flag = true;}};window.addEventListener("scroll", binding.animate);},// 自定义绑定的组件销毁时,关闭监听器unbind: function(el, binding) {window.removeEventListener("scroll", binding.animate);}};
}

inserted

inserted 属性是一个函数,当元素被插入到 DOM 中时调用。给window添加滚动事件,而回调函数为animate,每次滚动鼠标,都会执行这个函数。

window.removeEventListener("scroll", binding.animate)

animate 函数会检查元素是否出现在可视区域。一旦元素进入视口,就会调用“数字自增动画”animateNumber

if (top < h) {// 如果动画没在执行if (binding.flag) {binding.flag = false;const finalNum = el.innerHTML; // 要显示的真实数值animateNumber(el, finalNum, Date.now()); // 执行数字自增动画// 如果只执行一次动画,则解绑滚动事件!many && window.removeEventListener("scroll", binding.animate);}

animateNumber是一个函数,会计算动画的进度并更新元素的当前值。

  function animateNumber(el, finalNum, startTime) {const currentTime = Date.now();const runTime = currentTime - startTime; // 运行时间const progress = Math.min(runTime / totalTime, 1); // 动画进度el.innerHTML = Math.floor(finalNum * progress); // 当前页面显示的数字if (runTime < totalTime) {requestAnimationFrame(() => animateNumber(el, finalNum, startTime));}}

unbind

unbind 属性是一个函数,自定义绑定的组件销毁时调用。此函数将解绑滚动事件,避免占用资源。

  // 自定义绑定的组件销毁时,关闭监听器unbind: function(el, binding) {window.removeEventListener("scroll", binding.animate);}

总结

chatGPT在编程方面的成就是非常显著的,它不仅开创了人机交互的新时代,也为技术的发展带来了新的思路和方法,使用chatGPT辅助写代码是大势所趋。另外,它还能辅助我们写文章,例如,该文章的部分内容就是使用AI生成的

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

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

相关文章

上市即销售一空,紧急加印 | ChatGPT之父 Sam Altmam强烈推荐的神书!

解密ChatGPT&#xff0c;第一本诠释ChatGPT运作方式的大师级著作来了❗Wolfram Research软件公司创始人兼首席执行官斯蒂芬沃尔弗拉姆著作OpenAI CEO、ChatGPT之父 Sam Altman强烈推 《这就是ChatGPT》系列专场直播 点击预约

ChatGPT之父撰文:《万物摩尔定律》出现,这场革命将创造惊人的财富

来源&#xff1a;机器之能 参考链接https://moores.samaltman.com/ 近日&#xff0c;「ChatGPT之父」Sam Altman在社交媒体称&#xff0c; 一个全新的摩尔定律可能很快就会出现&#xff0c;即宇宙中的智能数量每18个月翻一番。 值得一的是的Sam Altman在担任OpenAI CEO之后&…

李开复亲自带队,打造AI 2.0时代的平台,不仅仅是中文版ChatGPT!

来源&#xff1a;量子位 李开复突然宣布筹办新公司&#xff0c;目标大模型领域。 新公司Project AI 2.0&#xff0c;正式开启团队组建。 要做啥&#xff1f; 新公司希望打造一个平台&#xff0c;一个生产力应用的生态。 Project AI 2.0不仅仅要做中文版ChatGPT。AI 2.0不仅仅是…

商业版ChatGPT单价骤减9成;支付宝启动“支付芯计划”;有专家认为,到 2035 年人类可能会与AI争夺控制权丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 支付宝启动“支付芯计划” 3月2日&#xff0c;阿里巴巴平头哥对外公布了生态计划&#xff1a;面向芯片开放社区的15万名开发者&#xff0c;平头哥首度推出在线学习台“RISC-V学院计划”&#xff0c;鼓励伙伴参与…

为什么程序员需要ChatGPT,为什么这很朋克!?

作为一名CSDN大博主&#xff0c;今天我来分享一下我的观点。 为什么程序员需要ChatGPT&#xff0c;为什么这很朋克&#xff1f; 让我们来一起探讨一下。 首先&#xff0c;程序员需要ChatGPT的原因有很多。 在技术领域里&#xff0c;新技术和新概念层出不穷&#xff0c;人们需要…

CV界的chatgpt出现——Segment Anything能分割万物

目录 一、前言&#xff08;1&#xff09;弱人工智能&#xff08;Weak AI&#xff09;&#xff08;2&#xff09;强人工智能&#xff08;General AI&#xff09;&#xff08;3&#xff09;超人工智能&#xff08;Super AI&#xff09; 二、SAM的一些介绍2.1 模型的结构是什么&am…

十个角度带你读懂百度财报:ChatGPT真是全村人希望吗?

北京时间2月22日&#xff0c;百度发布了截至2022年12月31日的第四季度及全年未经审计的财务报告。2022年&#xff0c;百度实现营收1236.75亿元&#xff0c;归属百度的净利润&#xff08;非美国通用会计准则&#xff09;206.8亿元&#xff0c;同比增长10%。 第四季度&#xff0c…

全面接入:ChatGPT杀进15个商业应用,让AI替你打工

智东西. 智能产业新媒体&#xff01;智东西专注报道人工智能主导的前沿技术发展&#xff0c;和技术应用带来的千行百业产业升级。聚焦智能变革&#xff0c;服务产业升级。 ChatGPT狂飙160天&#xff0c;世界已经不是两个月前的样子。 文&#xff5c;李水青 编辑&#xff5c;心…

ChatGPT访问量或现负增长 市场担忧“人工智能泡沫”

中国青年网|2023-07-03 14:05:02网站流量监测服务商Similarweb的数据显示&#xff0c;今年以来&#xff0c;ChatGPT访问量1月份的环比增长率为131.6%&#xff0c;此后逐月下降。5月时&#xff0c;这个数字已经跌至2.8%&#xff0c;预计6月将会出现环比负增长的情况。 ​ 不仅是…

AIGC和ChatGPT推进百度、阿里、腾讯、华为大模型技术创新

AIGC | PC集群 | PC Farm | GPU服务器 生成式AI | Stable Diffusion | ChatGPT 2022 年 12 月&#xff0c;OpenAI 推出了 ChatGPT&#xff0c;这是一种高性能计算的大型语言生成模型。它的出现推动了人机对话技术的发展&#xff0c;并在网络上引起了极大的关注。目前&#xff…

《花雕学AI》解锁ChatGPT潜力!183个最佳提示语,助您充分利用人工智能技术

随着机器学习和自然语言处理技术的不断进步&#xff0c;人工智能在各个领域的应用越来越广泛。ChatGPT&#xff08;Generative Pre-trained Transformer&#xff09;是一个强大的自然语言生成模型&#xff0c;它可以帮助我们生成高质量的文本内容。本文为你列举了 183 种可能的…

属于 PingCAP 用户和开发者的 2022 年度记忆

2022 年&#xff0c;我们一起穿越了许多荆棘时刻&#xff0c;面对着前所未有的不确定性。在这些挑战面前&#xff0c;我们发现技术和开发者扮演了重要角色。 技术为我们提供了穿越周期的桥梁&#xff0c;开发者帮助我们更好地应对挑战&#xff0c;解决问题并赋予这个世界更多创…

FPGA学习笔记-1 FPGA原理与开发流程

1 初识FPGA 文章目录 1 初识FPGA1.1 基本认知1.1.1 什么是FPGA&#xff1f;1.1.2 什么是HDL&#xff1f;什么是Verilog&#xff1f;1.1.3 硬件开发与软件开发1.1.4 FPGA与其他硬件的对比1.1.5 FPGA优势与局限性1.1.6 FPGA的应用1.1.7 FPGA的学习之路 1.2 FPGA开发流程1.2.1 一般…

腾讯、字节跳动“后退”,XR“没熟透”?

配图来自Canva可画 2023&#xff0c;XR进入寒冬期并不是空穴来风。 就在年初&#xff0c;国内外的各路玩家纷纷对XR赛道进行密集调整或裁撤。先有微软砍掉整个AltSpaceVR和MRTK开发团队、Meta裁员并关停Echo VR运营&#xff1b;再有字节跳动旗下PICO进行“组织优化”、快手暂…

从零教你写专利之开宗明义篇

大家好&#xff0c;我是英子老师。作为一名知识产权专家&#xff0c;深耕于专利行业十余年&#xff0c;具有丰富的专利工作经验&#xff1a;曾在大型专利代理机构从事专利代理工作、专利质检工作&#xff08;抽查代理机构的专利代理人的撰写质量并评分&#xff09;&#xff1b;…

上海亚商投顾:沪指震荡反弹涨1.2% 中国移动创历史新高

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 市场情绪 大小指数今日走势分化&#xff0c;沪指午后涨超1%&#xff0c;长阳反包上周五阴线&#xff0c;创业板指盘中则跌逾…

2023年中国人工智能产业趋势报告

易观&#xff1a;尽管2022年人工智能市场发展活跃度不及预期&#xff0c;但2022年对人工智能产业来说无疑是令人激动的一年。年中由DALL-E 2以及其后Stable Diffusion和Midjourney等文本-图像生成模型引起公众对人工智能生成内容的大量关注&#xff0c;年末ChatGPT的横空出世刷…

亚马逊云科技为云端算力赋能

ChatGPT有多强&#xff1f;这取决于这个问题提出的时间。一个月以前&#xff0c;这可能还是个问题。但是&#xff0c;当ChatGPT连续创造纪录、并不断颠覆人们认知的现在&#xff0c;这已经不是个问题了。真正的问题是&#xff0c;ChatGPT如何变得这么强&#xff1f; 有人做过统…

“AI in the Alps“:身体与精神的一场盛宴

作者&#xff1a;Christofer Dutz 得益于 Timecho 的组织和安排&#xff0c;我最近参加了一个精彩绝伦的活动 “AI in the Alps”&#xff0c;并从中收获颇丰。 这次活动是由德国工业界知名博客 “Industrial AI Podcast”&#xff08;http://aipod.de&#xff09;的组织者 Ro…

美团大佬连夜冲向ChatGPT风口!自带3.5亿进场,只有一个判断:必须参与

杨净 明敏 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT汹涌而来&#xff0c;国内互联网大佬们坐不住了。 早已退休归隐的原美团联合创始人王慧文&#xff0c;昨晚高调官宣入局AI&#xff1a; 不在意岗位、薪资和title&#xff0c;还要自掏腰包5000万美元&#xff0c;只求组队。…