SideBarButtonLibrary 使用说明文档
1. 简介
SideBarButtonLibrary
是一个用于创建侧边栏按钮容器的 JavaScript 库。它支持将按钮吸附到页面的左侧、右侧、顶部或底部,并允许用户自定义按钮的样式、排列方式以及展开/收起行为。
2. 功能特点
吸附方向:支持将按钮容器吸附到页面的 left
、right
、top
或 bottom
。
展开/收起:支持动态展开和收起按钮容器,支持自定义展开延迟和收起延迟。
按钮排列:支持水平排列(row
)和垂直排列(column
)。
样式自定义:用户可以通过配置对象自定义按钮样式、删除按钮样式以及容器样式。
灵活配置:支持通过配置对象动态调整所有行为和样式。
3. 使用方法
3.1 引入库
将以下代码保存为 SideBarButtonLibrary.js
,并在你的 HTML 文件中引入该脚本:
HTML复制
<script src="path/to/SideBarButtonLibrary.js"></script>
或者,直接将代码嵌入到你的 HTML 文件中:
HTML复制
<script>
// 将 SideBarButtonLibrary 的代码粘贴到这里
</script>
3.2 初始化按钮容器
使用 SideBarButtonLibrary.createButtons
方法初始化按钮容器。你可以通过配置对象自定义按钮的行为和样式。
示例代码
JavaScript复制
SideBarButtonLibrary.createButtons([
{ name: 'Button 1', func: () => alert('Button 1 clicked') },
{ name: 'Button 2', func: () => alert('Button 2 clicked') }
], {
container: {
width: '5px', // 收起时宽度/高度
expandedWidth: '200px', // 展开时宽度
backgroundColor: 'rgba(0, 0, 0, 0.2)', // 容器背景颜色
className: 'my-sidebar-container', // 容器类名
position: 'left', // 吸附位置:left/right/top/bottom
flexDirection: 'column' // 排列方向:row/column
},
buttonStyles: {
width: '180px', // 按钮宽度
background: '#ff5722', // 按钮默认背景
hoverBackground: '#cc4400', // 按钮悬停背景
defaultBackground: '#ff5722' // 按钮默认背景
},
deleteButtonStyles: {
right: '-40px', // 收起时删除按钮位置
expandedRight: '20px', // 展开时删除按钮位置
background: 'rgba(255, 0, 0, 0.8)', // 删除按钮背景
color: '#000' // 删除按钮字体颜色
},
hoverDelay: 300, // 悬停延迟(毫秒)
hideDelay: 800 // 收起延迟(毫秒)
});
3.3 配置选项
以下是 SideBarButtonLibrary.createButtons
方法中可用的配置选项:
container
(容器配置)
width
:收起时的宽度或高度(对于 top
和 bottom
是高度)。
expandedWidth
:展开时的宽度或高度。
backgroundColor
:容器的背景颜色。
className
:容器的类名(用于自定义样式)。
position
:容器吸附的位置(left
、right
、top
、bottom
)。
flexDirection
:按钮的排列方向(row
或 column
)。
buttonStyles
(按钮样式)
deleteButtonStyles
(删除按钮样式)
hoverDelay
和 hideDelay
3.4 添加更多按钮
你可以多次调用 SideBarButtonLibrary.createButtons
方法,向同一个容器中添加更多按钮。只需确保使用相同的 className
。
示例
JavaScript复制
SideBarButtonLibrary.createButtons([
{ name: 'Button 3', func: () => alert('Button 3 clicked') },
{ name: 'Button 4', func: () => alert('Button 4 clicked') }
], {
container: {
className: 'my-sidebar-container' // 使用相同的容器类名
}
});
4. 注意事项
5. 示例
以下是一个完整的 HTML 示例,展示如何使用 SideBarButtonLibrary
:
HTML复制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SideBarButtonLibrary 示例</title>
<style>
/* 可选:自定义样式 */
.my-sidebar-container {
/* 自定义容器样式 */
}
</style>
</head>
<body>
<script src="path/to/SideBarButtonLibrary.js"></script>
<script>
SideBarButtonLibrary.createButtons([
{ name: 'Button 1', func: () => alert('Button 1 clicked') },
{ name: 'Button 2', func: () => alert('Button 2 clicked') }
], {
container: {
width: '5px',
expandedWidth: '200px',
backgroundColor: 'rgba(0, 0, 0, 0.2)',
className: 'my-sidebar-container',
position: 'left',
flexDirection: 'column'
},
buttonStyles: {
width: '180px',
background: '#ff5722',
hoverBackground: '#cc4400',
defaultBackground: '#ff5722'
},
deleteButtonStyles: {
right: '-40px',
expandedRight: '20px',
background: 'rgba(255, 0, 0, 0.8)',
color: '#000'
},
hoverDelay: 300,
hideDelay: 800
});
</script>
</body>
</html>
6. 联系与支持
如果你在使用过程中遇到任何问题,或者有任何建议和反馈,欢迎随时联系我。
作者:otc
邮箱:[email protected]