vue 模拟随机变速的动态打字特效【支持多行文本】(含css实现闪烁光标,js动态改变setInterval定时器的时间间隔)

简介: vue 模拟随机变速的动态打字特效【支持多行文本】(含css实现闪烁光标,js动态改变setInterval定时器的时间间隔)

随机变速的动态打字特效–最终效果

随机变速的动态打字特效–完整代码

<template>
    <div class="contentBox">
        <span>{{showContent}}</span>
        <span v-if="showBlinkCursor" class="blinkCursor">|</span>
    </div>
</template>
<script>
    export default {
        mounted() {
            let that = this
            let index = 0;
            var myFunction = function () {
                clearInterval(timer);
                if (index < that.allContent.length) {
                    that.interval = Math.random() * 500
                    that.showContent += that.allContent[index]
                    index++;
                    timer = setInterval(myFunction, that.interval);
                } else {
                    that.showBlinkCursor = false
                }
            }
            var timer = setInterval(myFunction, that.interval);
        },
        data() {
            return {
                interval: 100,
                showBlinkCursor: true,
                showContent: '',
                allContent:
                    "多想一醒来 晨风就能抚平忧伤\n" +
                    "多想一转身 目光就融化掉冰霜\n" +
                    "多想一抬头 看见你微笑的脸庞\n" +
                    "多想你能够 把喜怒哀乐对我讲\n" +
                    "多想一家人 心朝着同一个方向\n" +
                    "多想一路上 包容着温暖的体谅\n" +
                    "多想一放下 世界就还给你梦想\n" +
                    "多想你知道 爱就在我心底流淌\n" +
                    "生活总该迎着光亮\n" +
                    "再跌跌撞撞也要坚强\n" +
                    "数着流星降落你肩膀\n" +
                    "而我一直陪伴在你身旁\n" +
                    "生活总该迎着光亮\n" +
                    "失望过后拥抱更多希望\n" +
                    "夜的尽头叫做阳光\n" +
                    "手中的幸福 终将会绽放"
            }
        }
    };
</script>
<style scoped>
    .contentBox {
        white-space: pre-wrap;
    }

    .blinkCursor {
        animation: Blink 1s ease-in 0s infinite;
    }

    @keyframes Blink {
        0% {
            opacity: 0;
        }
        100% {
            opacity: 1;
        }
    }
</style>

css 闪烁光标

<span class="blinkCursor">|</span>
 
    .blinkCursor {
        animation: Blink 1s ease-in 0s infinite;
    }

    @keyframes Blink {
        0% {
            opacity: 0;
        }
        100% {
            opacity: 1;
        }
    }

js 动态改变setInterval定时器的时间间隔

var interval = 500
var myFunction = function () {
    // 必须先清除掉定时器,再重新创建定时器,才能改变时间间隔
    clearInterval(timer);
    interval = Math.random() * 500
    timer = setInterval(myFunction, interval);
}
var timer = setInterval(myFunction, interval);
目录
相关文章
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
402 1
|
自然语言处理 前端开发 JavaScript
Playwright系列课(2) | 元素定位四大法宝:CSS/文本/XPath/语义化定位实战指南
本文是Playwright系列第二课,详解元素定位四大核心技术:CSS选择器、文本定位、XPath和语义化定位,结合实战演示各方法应用场景。重点解析Playwright智能定位器(Locator)的独特优势——自动等待与重试机制,通过预检元素可操作性(可见/可点击)有效规避网络延迟导致的脚本失效,显著提升自动化测试稳定性。
|
前端开发
Css实现文本超出长度隐藏并用三个点结尾
Css实现文本超出长度隐藏并用三个点结尾
485 17
|
缓存 JavaScript 前端开发
mapbox没有token/token失效,地图闪烁后变空白,报错Error: A valid Mapbox access token is required to use Mapbox GL JS.
本博客介绍了mapbox如何去除token验证,暴力破解mapbox的token验证机制。一劳永逸解决mapbox地图闪现一下然后变成空白,报错Error: A valid Mapbox access token is required to use Mapbox GL JS.的方法,还介绍了类似问题的具体解决思路。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
前端开发
前端基础(五)_CSS文本文字属性、背景颜色属性
本文详细介绍了CSS中关于文本和背景颜色的样式属性。包括字体大小、字体族、字体加粗、字体样式、文本行高、`font`属性、文本颜色、文本对齐方式、文本装饰线、首行缩进等文本属性,以及背景颜色、背景图片、背景重复、背景位置等背景属性。文章通过示例代码展示了这些属性的具体应用和效果。
967 3
前端基础(五)_CSS文本文字属性、背景颜色属性
|
前端开发
【前端web入门第三天】02 CSS字体和文本
本文详细介绍了CSS中字体和文本的相关属性。字体部分涵盖字体大小、粗细、样式、行高、字体族及`font`复合属性,通过具体示例展示了如何设置和使用这些属性。文本部分则讲解了文本缩进、对齐方式、修饰线及文字颜色等属性,并提供了实用的代码示例。此外,还简要介绍了调试工具中的一些细节,如错误属性标识和属性生效状态的控制。
533 28
纯css3发光霓虹灯文字闪烁特效代码
纯css3发光霓虹灯文字闪烁特效代码是一款彩色的店铺名称文字动画特效。
332 6
CSS3几何透明层文本悬停变色源码
CSS3几何透明层文本悬停变色源码是一款基于css3 svg制作的背景图片鼠标悬停几何形状透明层变色显示文本内容
234 0
CSS3几何透明层文本悬停变色源码
|
前端开发
使用CSS样式化占位文本
使用CSS样式化占位文本
241 0
|
前端开发 容器
CSS实现多行文本的展开收起
CSS实现多行文本的展开收起
965 0

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    718
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    580
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    584
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    358
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    675
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    854
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1688
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    402
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1392
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    695