uniapp实现光标闪烁(配合自己的键盘)

前言

因为公司业务需要,所以我们...

演示

其实就是Chat自动打字效果

代码

键盘请看这篇文件

<template>
<view class="list">
	<view class="title"><text>手机号码</text></view>
	<view class="typewriter-content">
	  <text class="value">{
  
  {mobile}}</text>
	  <text class="cursor">|</text>
	</view>
</view>
</template>
<script>
	export default {
        data() {
			return {
				mobile: '',
			}
		},
    }
</script>
<style lang="scss" scoped>
    .list {
		
		margin-bottom: 16rpx;
		.typewriter-content {
				height: 40rpx;
				border-radius: 10rpx;
				border: 2rpx solid #222;
				display: fle
### 如何在 UniApp实现打字机效果 为了实现UniApp 中的打字机效果,可以借鉴其他前端框架中的实现方式并调整适应 Vue.js 的语法和生命周期。下面提供一种利用 JavaScript 和 CSS 结合的方式,在 UniApp 组件内部创建动态文本展示功能。 #### 基础打字动画 首先定义好 HTML 部分用于承载变化的内容: ```html <template> <view class="typing-effect"> {{ textToShow }} </view> </template> <script> export default { data() { return { fullText: '欢迎来到神奇的世界', textToShow: '', currentIndex: 0, intervalId: null }; }, mounted() { this.startTyping(); }, methods: { startTyping() { if (this.currentIndex <= this.fullText.length) { this.textToShow += this.fullText.charAt(this.currentIndex); this.currentIndex++; setTimeout(() => { this.startTyping(); }, 150); // 控制打印速度 } } }, beforeDestroy() { clearTimeout(this.intervalId); } }; </script> <style scoped> .typing-effect::after { content: '|'; animation: blink 1s step-end infinite; } @keyframes blink { to { visibility: hidden; } } </style> ``` 此段代码实现了基础的打字机效果,并加入了闪烁光标的样式[^1]。每当页面加载完成时会触发 `mounted` 生命周期钩子函数启动打字过程;当组件即将被销毁前清除定时器防止内存泄漏。 对于更复杂的场景比如需要支持多行文本或者自定义配置项,则可以在上述基础上进一步扩展逻辑处理。 #### 添加更多特性 如果想要增强用户体验还可以考虑加入如下改进措施: - **暂停/继续**:允许用户点击按钮控制播放状态; - **回退重播**:让已经打出的文字按顺序消失再重新开始一轮新的输出流程; - **随机化间隔时间**:模拟真实键盘输入行为使视觉上更为自然流畅。 这些额外特性的添加可以通过修改原有计数机制以及引入事件监听等方式达成目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

An_s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值