圆形迷宫生成器 - 递归分割/漩涡算法
生成非矩形、由内向外发散的圆形迷宫,支持打印用于幼儿专注力训练。
UD5工具箱
直观展示自定义元素的五个生命周期钩子调用时机与顺序
Web Component(自定义元素)共有 5个 生命周期钩子:
document.adoptNode() 移动到新文档时调用。static observedAttributes 使用。constructor 在元素创建时立即调用(new 或 document.createElement),此时元素尚未连接到DOM,无法访问父节点、子元素或属性。适合创建Shadow DOM和初始化内部状态。
connectedCallback 在元素实际插入到文档DOM后才调用,此时可以安全地访问DOM树、获取属性值、发起网络请求、设置事件监听器。元素可能被多次移除和重新插入,每次插入都会触发此回调。
简单记忆:constructor = 出生证明,connectedCallback = 正式上岗。
只有当属性名被列在 static observedAttributes 数组中时,该属性的变化才会触发 attributeChangedCallback。
static get observedAttributes() {
return ['label', 'color']; // 只有这两个属性变化会触发回调
}
触发方式包括:setAttribute()、removeAttribute()、直接修改HTML属性。注意:通过JavaScript属性赋值(如 el.label = 'x')不会自动触发,需在setter中手动调用 setAttribute。
adoptedCallback 在日常开发中较少使用,但在以下场景中很有价值:
document.adoptNode() 将元素从一个文档转移到另一个文档回调接收两个参数:adoptedCallback(oldDocument, newDocument),可用于重新绑定文档相关资源。
正常创建并添加到DOM:
constructor() — 元素实例化connectedCallback() — 元素插入DOMattributeChangedCallback() — 如果有属性在connected之前或之后被设置跨文档移动(adoptNode):
disconnectedCallback() — 从原文档DOM移除adoptedCallback() — 文档归属变更connectedCallback() — 添加到新文档DOM(如果执行了appendChild)移除再重新添加:disconnectedCallback → connectedCallback(可多次循环)
生成非矩形、由内向外发散的圆形迷宫,支持打印用于幼儿专注力训练。
输入多个地点线索,生成一系列二维码,每个扫码后显示下一条线索。
配置不同的下划线出现、消失动画(从中间、左侧等),生成链接美化CSS。
展示一些常用内置HTML元素和自定义元素例子,提供代码复制。
从眉毛、眼睛、嘴巴等部件中拖拽组合,生成独一无二的日式颜文字表情,一键复制。
绘制 SVG 路径,让元素沿着路径运动,调整速度和缓动,生成动画代码。
配置下划线从中间或一侧滑出的动画,生成无限菜单效果代码。
输入文字描述或符号(如K, P),生成编织花样预览图,方便织女试读图解。
在页面上叠加可调节的基线网格,可视化检查文字是否对齐基线,实现精确排版。
将普通CSS代码转换为Styled Components的模板字符串格式。
为每个字符添加Unicode删除线组合符号,生成带删除线的纯文本,适用于格式化受限场景。
输入一个数字串,在已计算的圆周率小数位中查找首次出现位置。
提供点阵并编号,玩家按序点击连线,显现简单图形。
构建或随机生成二叉树,逐步动画展示前序、中序、后序和层序遍历的路径。
上传照片,通过边缘检测和纹理叠加转换为逼真的铅笔素描风格图片,可调节线条密度。
选择算法并随机生成数组,以彩色条动画展示排序过程,帮助理解算法。
在散点图上拖拽数据点,实时更新最小二乘回归线,显示斜率和截距。
编写海龟绘图规则和初始公理,迭代生成龙曲线、植物等分形图形。
生成点击导航平滑滚动到对应Section并高亮当前菜单项的完整代码。
挪动七巧板块直观展示勾股定理的几何证明,适合爱动手的数学爱好者。
构建二叉树节点,动态演示三种深度优先遍历顺序及逐层遍历。
显示人体骨骼图,拖拽骨骼名称到对应位置,检验解剖学知识。
设置外圆和内圆半径及笔位置,在屏幕上拖动绘制复杂的几何螺旋图案。
用密集的交叉线条重绘图片,光影由线条的粗细和密度决定,模拟版画排线风格。
利用 `:target` 伪类创建无需JavaScript的弹窗组件,支持关闭按钮和遮罩层。
控制迭代次数,生成越来越复杂的折线龙曲线分形图案。
通过注册CSS属性的类型和初始值,演示如何让渐变等属性实现平滑动画。
在时间轴上拖拽添加属性关键帧,实时预览动画并生成 @keyframes 代码。
在时间轴上拖拽一个元素的位置和样式,自动录制并生成对应的CSS @keyframes动画代码。
生成由不同大小、颜色和透明度的圆组成的抽象画作,可下载为壁纸。