我用原生 JavaScript 构建了一个无依赖的侧边栏,支持拖拽和磁吸吸附。
ac_sidebar 是一个专为侧边栏组件设计的独特 JavaScript 类,其特点是不依赖任何框架、构建步骤或外部 CSS 库。它直接集成自身的 CSS 和 SVG 图标集,从而实现完全自包含。该组件提供两级菜单,采用递归结构并支持基于角色的过滤,允许在菜单为空时自动隐藏。它支持五个位置:左侧、右侧、顶部、底部,或可拖动的“自由”模式(带磁性吸附)。侧边栏可折叠为图标导轨,或隐藏于汉堡按钮之后。它还支持每个条目显示计数徽章,允许在同一页面加载多个实例,并可通过 localStorage 持久化状态。开发者可直接使用配置对象实例化 ac_sidebar,也可从外部 JSON 文件加载。一个显著特点是其配置键和值采用法语,这反映了其最初是为法语客户开发的。例如,"gauche" 表示“左侧”,"clair" 表示“浅色”。该类属于 artisan-code.fr 维护的一系列独立、无依赖的 JavaScript/PHP 类集合的一部分。它专为那些使用完整框架显得不必要或过度的项目而构建。