数字滚动动画生成器 - 递增计数特效
生成从0滚到目标数字的动画,可调节速度和延迟,复制HTML/JS代码。
UD5工具箱
可视化构建 DataTransfer 对象,模拟拖放数据,实时测试并生成代码。适用于前端开发、单元测试与拖放交互调试。
DataTransfer 是 HTML5 拖放 API 的核心对象,用于在拖放操作中携带数据。它在 DragEvent.dataTransfer 中可用。核心属性包括:
effectAllowed — 在 dragstart 中设置,指定允许的拖放操作类型(none/copy/move/link/all 等)dropEffect — 在 dragover 中设置,指定目标期望的操作(必须匹配 effectAllowed)files — 只读 FileList,包含从操作系统拖入的文件items — DataTransferItemList,提供更底层的数据访问types — 只读数组,列出所有可用的数据格式(如 text/plain、Files)setData(format, data) — 设置指定格式的数据(仅在 dragstart 中有效)getData(format) — 读取指定格式的数据(主要在 drop 中使用)effectAllowed 在 dragstart 事件中由拖拽源设置,表示该次拖放允许哪些类型的操作。它是一个"能力声明"。
dropEffect 在 dragover 事件中由放置目标设置,表示目标期望的具体操作。它必须在 effectAllowed 允许的范围内,否则浏览器会忽略放置。
关系示例:
copyMove → dropEffect 可以是 copy 或 movelink → dropEffect 只能是 link 或 nonenone → 任何 dropEffect 都会被阻止现代浏览器支持 new DataTransfer() 构造函数,可以在测试中创建 DataTransfer 实例:
const dt = new DataTransfer();
dt.setData('text/plain', 'hello');
dt.effectAllowed = 'all';
const event = new DragEvent('drop', { dataTransfer: dt, bubbles: true });
element.dispatchEvent(event);
对于需要文件的场景,可以使用 dt.items.add(new File([...], 'test.txt')) 添加文件。
DataTransfer 对象有一个内部的 mode 属性:
"readwrite",可以调用 setData、setDragImage"readonly",setData 调用会被静默忽略这是浏览器的安全机制,防止放置目标修改拖拽源已经设置的数据。只有在 dragstart 中可以写入数据。
浏览器默认不允许在任意元素上放置。必须在 dragover 事件中调用 event.preventDefault(),告诉浏览器该元素是一个合法的放置目标。否则 drop 事件不会触发。
常见写法:
target.addEventListener('dragover', (e) => {
e.preventDefault(); // 必须!
e.dataTransfer.dropEffect = 'copy';
});
移动端浏览器基本不支持 HTML5 Drag and Drop API。这是因为移动设备使用触摸事件(touchstart/touchmove/touchend),而不是鼠标拖放。如果需要在移动端实现拖放功能,建议使用触摸事件或专门的拖放库(如 SortableJS、Interact.js)。
本工具主要用于桌面端浏览器的拖放功能开发和测试。
生成从0滚到目标数字的动画,可调节速度和延迟,复制HTML/JS代码。
输入复杂对象,使用 structuredClone 进行深拷贝,并对比原始对象与克隆体,展示可拷贝类型。
动画展示埃拉托斯特尼筛法逐步划去倍数,最终留下指定范围内的所有素数。
输入盘子数量,动画展示汉诺塔的递归移动步骤,帮助理解递归思想。
将图片处理为浮雕效果,模拟雕刻凸起感,可调光线方向以控制凹凸视觉。
可混入指定关键词的Lorem Ipsum生成器,支持段落、列表与HTML标记,更真实模拟内容。
以线框形式渲染正四面体、立方体等柏拉图立体,可鼠标拖拽旋转。
生成深邃宇宙风格的粒子背景代码,粒子间近距离自动连线,适合科技感网页。
构建嵌套元素,触发事件并逐步显示事件流经路径,可切换捕获/冒泡模式。
以3D方式展示太阳系大致轨道,可缩放和加速时间,观察行星公转顺序。
将图片转换为由彩色三角形构成的低多边形艺术风格,可调整三角网格密度和模糊。
在Canvas上控制一条不断增长的蠕虫吃光点,撞墙或撞到自己则结束。
输入共享密钥,实时生成30秒TOTP,验证与特定平台二次验证的一致性。
运行包含缺陷的正则表达式,展示如何导致浏览器假死,并学习如何避免。
输入`*/5 * * * 1`这样的Cron表达式,翻译成“每周一每隔5分钟”的人类语言。
独立控制白、粉红、布朗噪声及雨声、浪声的音量,创造专属专注或放松环境音。
结构化周回顾模板:记录本周成就、失败、学到的及下周重点。
结合对比度拉伸和强噪点纹理,将照片变为具有深色粗糙质感的炭笔素描画。
学习平结、雀头结、螺旋结等Macrame基础结法的分步动画图解。
生成拥有奇怪生理特征、大气需求和摄食方式的外星生物文字档案。
调整标准方程参数,动态绘制对应的圆锥曲线图形。
使用鼠标或触控笔在无限画布上涂鸦,激光笔模式不留下痕迹,适合演示思路。
在线随机数生成工具,可设定数字区间,生成单个或多个不重复的随机整数,适合抽奖、测试等。
将箱子推到目标点,经典的Sokoban游戏,内置多关卡。
配置粒子数量、颜色、运动方式和连线,生成动态粒子背景效果,一键复制JS实现。
早晨呈现行动导向三问,晚间的复盘三问,引导结构化记录,迭代自我认知。
基于1件大任务、3件中任务、5件小任务原则设计每日计划板。
将公主、魔法等经典元素随机组合成一个新童话梗概。
生成比白噪音更深沉、更平滑的布朗噪音(红噪音),适合深度专注和屏蔽人声。
产生一个包括代号、超能力、弱点和背景故事的虚构超级英雄档案。