vue自定义指令实现打字效果
实现如通义灵码官网关于代码片段中,当鼠标hover上代码上时,出现打字效果,示例地址:https://tongyi.aliyun.com/lingma?spm=5176.28508143.J_ahRFo5CaAe_asSOaCgS4J.14.5421154auHz4xJ&scm=20140722.M_185502201.P_131.MO_2276-ID_10360025-MID_10360025-CID_31292-ST_10352-V_1
通过vue2封装指令的方式实现:
import Vue from 'vue';
const typewrite = {
bind(el, binding) {
const typingSpeed = 50; // 打字速度,单位为毫秒
let typingEffectActive = false;
let originalText = el.textContent;
el.textContent = originalText; // 初始化文本内容
el.addEventListener('mouseenter', function() {
if (!typingEffectActive){
typingEffectActive = true;
el.textContent = '';
let i = 0;
let typingEffect = setInterval(function() {
if (i < originalText.length) {
el.textContent += originalText.charAt(i);
i++;
} else {
clearInterval(typingEffect); // 清除定时器
typingEffectActive = false;
}
}, typingSpeed); // 设置速度,每100毫秒添加一个字符
}
});
}
}
Vue.directive('typewrite',typewrite);
调用方式:
div v-typewrite class="app-con" style="width: 500px;text-align: left;">
这里是默认显示的文字,鼠标悬停时将触发打字效果。
这里是默认显示的文字,鼠标悬停时将触发打字效果。
这里是默认显示的文字,鼠标悬停时将触发打字效果
</div>
<pre v-typewrite>
var message="欢迎";
for(var i=1;i<=10;i++)
{
alert(message);
}
</pre>
当然也可以使用第三方插件,例如:typed.js,参考地址:https://www.cnblogs.com/sexintercourse/p/18113289
+
(^_^)打赏作者喝个咖啡(^_^)


我要收藏
返回顶部
跳到底部
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2015-09-24 jQ效果:jQuery和css自定义video播放控件
2015-09-24 HTML5 audio与video标签实现视频播放,音频播放