首页
学习
活动
专区
圈层
工具
发布

借助 CodeBuddy,我打造了一个打光动画加持的代码演示工具

编写核心组件:一个左编右显的动效编辑器 CodeBuddy 先创建了一个名为 CodeEditor.vue 的组件,里面实现了: 三个可切换的文本框(HTML、CSS、JS) 每次输入都触发打光动画 使用...Prism.js 高亮当前代码块 实时将代码同步给 App.vue 页面主组件 这部分代码结构清晰,逻辑职责分明,尤其打光动画的实现非常巧妙:每次输入文字时,它通过添加一个特殊 class 再触发过渡动画...我点击不同主题,编辑器代码区会即时替换样式,仿佛穿上了不同的皮肤。整个切换过程丝滑流畅,不会闪屏或卡顿。...我点击一下,就会下载一个完整的 HTML 文件,包含当前所有代码和样式。 这个文件我可以直接嵌入博客,或者部署到任何静态页面里,真正实现了「所见即所得」。...尾声:我只提了个需求,其余 CodeBuddy 全包了 整个过程,我几乎没有写一行代码,只是把我想要的功能用一句话讲清楚: 我要一个打光动画代码演示工具。

38410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    借助 CodeBuddy,我打造了一个打光动画加持的代码演示工具

    CodeBuddy - AI 时代的智能编程伙伴 起因:想做个“能动起来”的代码展示板 有时候在写博客或者整理项目文档时,我总会遇到这种情况:想让别人看到代码的同时,也能马上看到运行效果,最好还能加点动画...于是我对 CodeBuddy 发了个请求: 用 Vue3 + Prism.js + iframe 做一个代码演示工具,支持:左侧写代码、右侧预览、多主题、打字动画、一键导出。...核心模块:左边写代码,右边直接看效果 很快,CodeBuddy 新建了一个叫 CodeEditor.vue 的组件,功能很集中: 三栏切换(HTML / CSS / JS) 每输入一段代码,就有高亮动画...页面布局 + 实时预览:iframe 来助阵 在 App.vue 里,它安排了左右两栏结构,左边是刚刚的编辑器,右边是一个 iframe,用来实时渲染代码。...它在样式文件里加入了一个简单的 keyframe 动画,每次触发输入时,当前行就会“亮一下”: @keyframes glow { 0% { background-color: transparent

    37910

    jQuery

    学习jQuery就是学习调用里面封装的函数,其优化了DOM操作、事件处理、动画设计和Ajax交互。基本兼容了主流浏览器。链式编程、隐式迭代、支持插件拓展开发,轻量、免费、开源。...,[fn]]; ==事件切换== //(1)over:鼠标移到元素上要触发的函数(相当于mouseenter) //(2)out:鼠标移出元素要触发的函数(相当于mouseleave) //(3)如果只写一个函数...,另一个才开始 待解决:动画队列(动画或者效果一旦触发就会执行,如果多次触发,就造成多个动画或者效果排队执行。)...解决方法:停止排队 //(1)stop()方法用于停止动画或效果。 //(2)注意:stop()写到动画或者效果的前面,相当于停止结束上一次的动画。只执行最新的一次。...(也可以把绑定事件的on()改为one()表示事件只触发一次) $("p").off(); // 解绑p元素所有事件处理程序 $("p").off( "click"); // 解绑p元素上面的点击事件

    23K50

    「jQuery」基础 - 01

    简单理解: 就是一个JS 文件,里面对我们原生js代码进行了封装,存放到里面。这样我们可以快速高效的使用这些封装好的功能了。...跨浏览器兼容,基本兼容了现在主流的浏览器。 链式编程、隐式迭代。 对事件、样式、动画支持,大大简化了DOM操作。 支持插件扩展开发。有着丰富的第三方的插件,例如:树形菜单、日期控件、轮播图等。...jQuery为我们提供另一个方法,可以停止动画排队:stop()。 1.5.1....over:鼠标移到元素上要触发的函数(相当于mouseenter) out:鼠标移出元素要触发的函数(相当于mouseleave) 如果只写一个函数,则鼠标经过和离开都会触发它 hover事件和停止动画排列案例...事件切换 hover 如果只写一个函数,那么鼠标经过和鼠标离开都会触发这个函数 $(".nav>li").hover(function() { // stop 方法必须写到动画的前面

    8.1K21

    前端成神之路-01_jQuery

    简单理解: 就是一个JS 文件,里面对我们原生js代码进行了封装,存放到里面。这样我们可以快速高效的使用这些封装好的功能了。...jQuery为我们提供另一个方法,可以停止动画排队:stop() ; 1.5.1....总结: 每次使用动画之前,先调用 stop() ,在调用动画。 1.5.6. 事件切换 ​ jQuery中为我们添加了一个新事件 hover() ; 功能类似 css 中的伪类 :hover 。...over,]out) // 其中over和out为两个函数 over:鼠标移到元素上要触发的函数(相当于mouseenter) out:鼠标移出元素要触发的函数(相当于mouseleave) 如果只写一个函数...事件切换 hover 如果只写一个函数,那么鼠标经过和鼠标离开都会触发这个函数 $(".nav>li").hover(function() {

    13.2K10

    jquery 使用 unbind 解决重复绑定执行事件

    原文:jquery 使用 unbind 解决重复绑定执行事件 存在问题 在jquery监听click事件的时候会出现点击一次没有重复,点击第二次就重复的情况。...还原问题现场 先来看看需求:点击一个数据表之后,确认自定义的模态窗口,然后删除改行的数据,并打印改行数据的ID。 ? ? ? 从上面三张图可以看到一个执行流程,这次是正常的,只打印了一次ID。...说明前面绑定的事件又重复之前了一遍。 这个就有点像jquery执行动画效果之前,需要使用一个stop()方法,将之前执行的动画都停止掉一样。...这种事件绑定重复的执行问题,需要一个unbind()方法,先解除绑定,再绑定执行,才能解决重复执行。不然重复进行绑定事件,那么就会重复执行事项。 查看解决代码 看看问题代码,如下: ?...设置了unbind之后,日志打印没有重复执行的情况了。

    2K30

    05-老马jQuery教程-动画

    跟jQuery的选择器和事件配合起来,可以实现很多很绚的效果,而且简单易用兼容性好。 1. 显示动画 jQuery的原型上的方法 show()方法可以实现让DOM元素进行显示动画。...这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式隐藏起来。在jQuery 1.3中,上下的padding和margin也会有动画,效果更流畅。 参数跟show保持一致,不再赘述。...这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。...$("#box").stop(true, true); }); // 点击Go之后开始动画,点Stop之后会在当前位置停下来 // Go <button...: '+200px'}, 5000); }); // 当点击按钮后停止动画 $("#stop").click(function(){ $(".block").stop(); }); 10.

    2.8K50

    jQuery Cheat—Sheet(jQuery学习笔记)

    jQuery是一种JavaScript库,实现了常见任务的自动化和复杂任务简单化。 jQuery库为Web脚本编程提供了通用的抽象层,使之适合任何脚本编程情景。...jQuery 事件方法语法 在 jQuery 中,大多数 DOM 事件都有一个等效的 jQuery 方法。 页面中指定一个点击事件: $("p").click(); 下一步是定义什么时间触发事件。...下面的例子演示了 slideUp() 方法: $("#flip").click(function(){ $("#panel").slideUp(); //点击标签之后,<panel....animate({ height:’toggle’ //点击button,给div的height一个隐藏动画效果 }); }); #### jQuery animate() - 使用队列功能...,暂停一个animate动画,点击两次暂停两个动画 $(“div”).stop(); }); $(“#stop2”).click(function(){ //stopAll参数为

    18.3K30

    05-老马jQuery教程-动画

    跟jQuery的选择器和事件配合起来,可以实现很多很绚的效果,而且简单易用兼容性好。 1. 显示动画 jQuery的原型上的方法 show()方法可以实现让DOM元素进行显示动画。...这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式隐藏起来。在jQuery 1.3中,上下的padding和margin也会有动画,效果更流畅。 参数跟show保持一致,不再赘述。...这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。...$("#box").stop(true, true); }); // 点击Go之后开始动画,点Stop之后会在当前位置停下来 // Go <button...: '+200px'}, 5000); }); // 当点击按钮后停止动画 $("#stop").click(function(){ $(".block").stop(); }); 10.

    2.8K00

    jquery的事件&动画

    一、事件 在1.7之前的版本中jQuery处理事件有多个方法, (google 搜索: jquery live bind degelate)作用各不相同,后来统一的使用on/off方法 1、.on( events...2、.one( events [, selector ] [, data ], handler(eventObject) ) 同 on,绑定事件,但只执行一次 3、.off( events [, selector...] [, complete ] ) 用滑动动画显示或隐藏一个匹配元素 举个例子 9、动画序列 动画执行是异步的操作,比如以下代码不会等到show动画4000ms完成后,再输出'hahh'的。...') }) 但这样写也很麻烦,jquery有动画队列,所以等价于 $box.hide(4000) .show(3000) .fadeOut() .fadeIn ....slideUp() .slideDown(function(){ console.log('动画完毕')}) 三、自定义动画 上面几个简单的动画不能满足需求的时候,jquery提供了自定义动画行为的方法

    2.7K20

    与Ajax同样重要的jQuery(1)

    这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式显示出来。在jQuery 1.3中,上下的padding和margin也会有动画,效果更流畅。...在动画完成时执行的函数 fadeOut(speed, [callback]) 概述 通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。...这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。...选取属性值包含value的所有元素 练习6: ² 设置所有含有id属性的div,字体颜色红色 ² 设置所有class属性值 含有itcast元素背景色为黄色 ² 对所有既有id又有class属性div元素,添加一个点击事件...itcast元素背景色为黄色 $("[class *= 'itcast']").css("background-color","yellow"); // 对所有既有id又有class属性div元素,添加一个点击事件

    11.5K60
    领券