如何将旧电视变成复古机场翻牌显示器
那些曾经挂在火车站和机场候机楼的真正机械翻牌显示器价格昂贵。如果你想为家里或办公室买一个,商业制造商会收取三千到五千美元。flipoff 仓库用纯数字方案解决了这个问题。

该项目可以将任何带有浏览器的屏幕、平板或电视变成经典的信息板,带有翻页音效和文字变化时的随机字符动画。
无需打包工具或第三方库
仓库中没有 package.json、Node.js 或 React。作者用纯 HTML、CSS 和原生 JavaScript 编写了整个项目。
要启动显示板,只需克隆仓库并双击本地打开 index.html,或启动一个简单的 HTTP 服务器:
git clone https://github.com/magnum6actual/flipoff.git
cd flipoff
python3 -m http.server 8080
打开页面后,浏览器会等待首次点击以通过 Web Audio API 解锁音频播放。按下 F 键可将显示板扩展到全屏,隐藏额外的界面元素。
动画和音效原理
该项目没有使用复杂的 Canvas 渲染,而是使用 DOM 元素网格。每个显示板区域都有自己的状态和更新逻辑。
当消息变化时,脚本不会一次性更新整个网格,而只更新那些字符实际发生变化的格子。就像真实的机械装置一样。在锁定最终字母或数字之前,格子会经过一个随机序列,快速循环显示随机字符并改变背景颜色。
翻页音效是从真实的机械显示板录制的。为了让项目完全离线运行而不加载外部资源,作者将音频文件用 Base64 编码直接放在 JS 脚本 flapAudio.js 中。音轨与格子翻转的开始同步播放。
你可以用键盘控制显示板:
Enter或Space切换到下一条文本- 左右箭头键向前向后滚动消息
F启用全屏模式M静音
根据需求自定义
所有基本参数都提取到单独的文件 js/constants.js 中。你可以在那里编辑:
- 消息和引言列表
- 网格尺寸(变量
GRID_COLS和GRID_ROWS) - 动画速度和翻转延迟
- 背景颜色调色板
如果你需要显示实时数据而不是硬编码的引言——比如 CI 构建状态、天气或汇率——你可以重写 MessageRotator.js 通过常规 fetch() 从本地 API 获取数据。
应用场景
这些显示板作为休息区电视、办公室或书架上积灰的旧 iPad 上的仪表盘看起来很棒。项目不需要互联网,不会因复杂计算而增加 CPU 负担,并且能正确缩放到任何屏幕分辨率,最高可达 4K。
代码写得透明清晰,分解成小的独立类(Tile.js、Board.js、SoundEngine.js),所以理解其机制或根据你的需求改编项目应该只需要半小时。
相关项目