您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
SideBarButtonLibrary 是一个轻量级的 JavaScript 库,用于创建可展开和收起的侧边栏按钮容器,支持自定义吸附方向(左、右、上、下)、按钮排列方式(水平或垂直)以及样式,适用于快速构建侧边栏工具栏或导航菜单。
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/453745/1525524/SideBarButtonLibrary.js
SideBarButtonLibrary
是一个用于创建侧边栏按钮容器的 JavaScript 库。它支持将按钮吸附到页面的左侧、右侧、顶部或底部,并允许用户自定义按钮的样式、排列方式以及展开/收起行为。
吸附方向:支持将按钮容器吸附到页面的 left
、right
、top
或 bottom
。
展开/收起:支持动态展开和收起按钮容器,支持自定义展开延迟和收起延迟。
按钮排列:支持水平排列(row
)和垂直排列(column
)。
样式自定义:用户可以通过配置对象自定义按钮样式、删除按钮样式以及容器样式。
灵活配置:支持通过配置对象动态调整所有行为和样式。
将以下代码保存为 SideBarButtonLibrary.js
,并在你的 HTML 文件中引入该脚本:
HTML复制
<script src="path/to/SideBarButtonLibrary.js"></script>
或者,直接将代码嵌入到你的 HTML 文件中:
HTML复制
<script>
// 将 SideBarButtonLibrary 的代码粘贴到这里
</script>
使用 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 // 收起延迟(毫秒)
});
以下是 SideBarButtonLibrary.createButtons
方法中可用的配置选项:
container
(容器配置)width
:收起时的宽度或高度(对于 top
和 bottom
是高度)。
expandedWidth
:展开时的宽度或高度。
backgroundColor
:容器的背景颜色。
className
:容器的类名(用于自定义样式)。
position
:容器吸附的位置(left
、right
、top
、bottom
)。
flexDirection
:按钮的排列方向(row
或 column
)。
buttonStyles
(按钮样式)width
:按钮的宽度。
background
:按钮的默认背景颜色。
hoverBackground
:按钮悬停时的背景颜色。
defaultBackground
:按钮的默认背景颜色。
color
:按钮的字体颜色。
borderRadius
:按钮的圆角大小。
fontSize
:按钮的字体大小。
cursor
:鼠标悬停时的光标样式。
deleteButtonStyles
(删除按钮样式)right
:收起时删除按钮的位置。
expandedRight
:展开时删除按钮的位置。
background
:删除按钮的背景颜色。
color
:删除按钮的字体颜色。
borderRadius
:删除按钮的圆角大小。
fontSize
:删除按钮的字体大小。
hoverDelay
和 hideDelay
hoverDelay
:鼠标悬停后展开的延迟时间(单位:毫秒)。
hideDelay
:鼠标移出后收起的延迟时间(单位:毫秒)。
你可以多次调用 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' // 使用相同的容器类名
}
});
类名冲突:确保你提供的 className
不会与页面上现有的类名冲突。
样式覆盖:如果需要进一步自定义样式,可以通过 CSS 覆盖默认样式。
删除按钮:删除按钮会移除整个容器,请谨慎使用。
以下是一个完整的 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>
如果你在使用过程中遇到任何问题,或者有任何建议和反馈,欢迎随时联系我。
作者:otc 邮箱:[email protected]