首页 > 其他分享 >2024.11.13 前端打字机代码

2024.11.13 前端打字机代码

时间:2024-11-13 23:11:13浏览次数:1  
标签:13 2024.11 obj isEnd 打字 打字机 结束 hitokoto EasyTyper

要让打字结束后保持结束状态,首先需要确认你使用的 EasyTyper 库的逻辑。当 EasyTyper 完成打字后,它通常会执行一个回调函数,告知打字过程已经结束。

从你提供的代码来看,回调函数 () => {} 是空的,可能是为了暂时不做任何操作。如果你希望在打字完成后让文本保持在打字结束的状态,可以在 EasyTyper 完成打字后将状态更新为“结束”。

更新后的代码

假设我们通过更新 obj 对象的某个属性来标记打字已完成,并让打字效果停止。

// 打字机-每日鸡汤
export const getSoupTyping = (obj: any) => {
    fetch(myYiYan)
        .then((res) => {
            return res.json();
        })
        .then(({hitokoto}) => {
            new EasyTyper(
                obj,
                hitokoto.content,
                () => {
                    // 打字完成后的回调
                    obj.isEnd = true; // 假设我们通过设置 isEnd 来标记打字已完成
                },
                () => {
                    // 可以在这里处理打字错误等情况
                }
            );
        });
}

解释

  • obj.isEnd = true:这里假设 obj 中有一个名为 isEnd 的属性,用来标记打字是否已经完成。你可以在模板中根据这个属性来决定是否显示“打字结束”的状态,或者做其他的 UI 更新。

    例如,如果你使用 v-ifv-show 来控制文本的显示,可以在模板中做类似如下操作:

    <div v-if="obj.isEnd">
      <span>打字已结束!</span>
    </div>
    

保持打字结束状态的其他方式

如果你希望在打字完成后不再重新启动打字,可以取消 getSoupTyping(obj) 的递归调用。因为原本代码中使用了递归来重新调用 getSoupTyping,一旦打字完成就不再调用它。

// 打字机-每日鸡汤
export const getSoupTyping = (obj: any) => {
    fetch(myYiYan)
        .then((res) => {
            return res.json();
        })
        .then(({hitokoto}) => {
            new EasyTyper(
                obj,
                hitokoto.content,
                () => {
                    // 结束时设置 obj.isEnd 为 true,表示打字完成
                    obj.isEnd = true;
                },
                () => {
                    // 错误处理
                }
            );
        });
}

最后,确保模板正确渲染:

<!-- 打字结束后,显示打字已完成的内容 -->
<div v-if="obj.isEnd">
  <p>{{ hitokoto.content }}</p>
  <span>打字已结束!</span>
</div>

通过以上修改,打字结束后,obj.isEnd 会被设置为 true,然后你可以在 UI 上根据 obj.isEnd 来控制显示“打字结束”的信息或做其他的操作,确保打字效果保持结束状态。

标签:13,2024.11,obj,isEnd,打字,打字机,结束,hitokoto,EasyTyper
From: https://www.cnblogs.com/258-333/p/18545029

相关文章

  • el表达式+axios+vue -2024/11/13
    一个好看的界面<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>首页</title></head><body><divid="app"><el-menu:default-active=......
  • 项目冲刺11.13
    这个作业属于哪个课程计科22级34班这个作业要求在哪里作业要求这个作业的目标进行为期七天的项目冲刺并记录前言本篇博客是项目冲刺的第五篇,七篇博客的汇总如下:博客汇总第一篇博客第二篇博客第三篇博客第四篇博客第五篇博客第六篇博客......
  • 24.11.13 Javascript3
    Javascript31.dom元素获取查找元素的函数getElementById("id值")查找到唯一一个元素getElementsByClassName("class值")查找指定class的元素数组getElementsByTagName("标签名")查找指定标签名的元素......
  • 2024.11.13
    今日错题:一共10题,错误3题分析:(2)本文出现了语法错误,因为没有掌握关于“inone'sopinion”的语法所以导致了该题目的错误分析:(5)本题出现了2个不会的单词,其中一个单词有着关键性作用,出现了单词空缺,单词涉及薄弱,导致本题目出错,分析上下文无法推断出该单词的意思分析(8)本题单词出......
  • nfs服务器之间实现目录共享13
    title:nfs服务器之间实现目录共享date:2022-11-0522:41:54tags:[nfs,文件共享]categories:linux在使用airflow的时候,scheduler和worker之间的dag文件需要保持一致,而airflow没有解决这个问题,所以,需要我们自己解决dag文件的同步问题。第一个解决方案就是云服务商提供的nas......
  • nfs服务器之间实现目录共享13134
    title:nfs服务器之间实现目录共享date:2022-11-0522:41:54tags:[nfs,文件共享]categories:linux在使用airflow的时候,scheduler和worker之间的dag文件需要保持一致,而airflow没有解决这个问题,所以,需要我们自己解决dag文件的同步问题。第一个解决方案就是云服务商提供的nas......
  • 11.13机器学习_KNN和模型选择调优
    7特征降维实际数据中,有时候特征很多,会增加计算量,降维就是去掉一些特征,或者转化多个特征为少量个特征特征降维其目的:是减少数据集的维度,同时尽可能保留数据的重要信息。特征降维的好处:减少计算成本:在高维空间中处理数据可能非常耗时且计算密集。降维可以简化模型,......
  • nfs服务器之间实现目录共享1313
    title:nfs服务器之间实现目录共享date:2022-11-0522:41:54tags:[nfs,文件共享]categories:linux在使用airflow的时候,scheduler和worker之间的dag文件需要保持一致,而airflow没有解决这个问题,所以,需要我们自己解决dag文件的同步问题。第一个解决方案就是云服务商提供的nas......
  • 2024-11-13:求出所有子序列的能量和。用go语言,给定一个整数数组nums和一个正整数k, 定义
    2024-11-13:求出所有子序列的能量和。用go语言,给定一个整数数组nums和一个正整数k,定义一个子序列的能量为子序列中任意两个元素之间的差值绝对值的最小值。找出nums中长度为k的所有子序列的能量和,对结果取模10^9+7后返回。输入:nums=[1,2,3,4],k=3。输出:4。解释:......
  • 2024.11.13 DP题单
    录制唱片你刚刚继承了流行的“破锣摇滚”乐队录制的尚未发表的\(N\)(\(1\leqN\leq20\))首歌的版权。你打算从中精选一些歌曲,发行\(M\)(\(1\leqM\leq20\))张CD。每一张CD最多可以容纳\(T\)(\(1\leqT\leq20\))分钟的音乐,一首歌不能分装在两张CD中。CD数量可以用完,也可以......