灵活 非画布侧面板插件 更简单 边栏

  • 源码大小:32.73KB
  • 所需积分:1积分
  • 源码编号:19JP-3403
  • 浏览次数:639次
  • 最后更新:2023年06月09日
  • 所属栏目:其他
我要下载
加入收藏
本站默认解压密码:19jp.com 或 19jp_com

简介

一个简单、灵活的侧边栏jQuery/JavaScript插件,用于为侧菜单、抽屉导航和任何其他面板类型(如通知、设置、社交共享小部件等)创建移动应用程序风格的画布外面板。

更多演示:

  • 使用CSS3转换
  • Vanilla JavaScript版本

如何使用它:

1.将您的内容(如菜单项、社交图标等)插入侧边栏面板。

  1. <div id="sidebar">
  2. <div class="sidebar-wrapper">
  3. <a href="#" class="quit-sidebar">Menu Link 1</a>
  4. <a href="#" class="quit-sidebar">Menu Link 2</a>
  5. <a href="#" class="quit-sidebar">Menu Link 3</a>
  6. ...
  7. </div>
  8. </div>

2.在导航栏中添加侧边栏面板切换按钮。

  1. <nav>
  2. <span id="menu" class="icon">
  3. <!-- Toggle Button Icon Here -->
  4. </span>
  5. <span class="expand"></span>
  6. </nav>

3.侧边栏面板的示例CSS。

  1. nav {
  2. position: sticky;
  3. top: 0;
  4. display:flex;
  5. align-items: center;
  6. height: 56px;
  7. background-color: #9a031e;
  8. color: white;
  9. }
  10.  
  11. .icon {
  12. padding: 12px;
  13. font-size: 24px;
  14. cursor: pointer;
  15. }
  16.  
  17. nav .expand {
  18. flex: 1;
  19. }
  20.  
  21. nav a {
  22. color: inherit;
  23. text-decoration: none;
  24. }
  25.  
  26. #sidebar {
  27. background-color: #5F0F40;
  28. color: white;
  29. }
  30.  
  31. .sidebar-wrapper {
  32. padding: 12px;
  33. overflow-y: auto;
  34. height: 100%;
  35. }

4.在文档中加载Simpler边栏插件的文件。

  1. <!-- jQuery Version -->
  2. <script src="/path/to/cdn/jquery.min.js"></script>
  3. <!-- For additional easing functions. OPTIONAL -->
  4. <script src="/path/to/cdn/jquery-ui.min.js"></script>
  5. <!-- No CSS3 Transitions -->
  6. <script src="/path/to/lib/jquery.simpler-sidebar.min.js"></script>
  7. <!-- With CSS3 Transitions -->
  8. <script src="/path/to/lib/jquery.simpler-sidebar-css3.min.js"></script>
  9.  
  10. <!-- Vanilla JavaScript Version -->
  11. <script src="/path/to/lib/vanilla-sidebar.min.js"></script>

5.初始化侧边栏面板并完成。

  1. // jQuery Version
  2. $("#sidebar").simplerSidebar({
  3. toggler: "#menu",
  4. quitter: ".quit-sidebar",
  5. });
  6.  
  7. // Vanilla JS Version
  8. var sidebar = new VanillaSidebar({
  9. selector: "#sidebar",
  10. triggerer: "#menu",
  11. quitter: ".quit-sidebar"
  12. });

6.自定义背景覆盖。

  1. $("#sidebar").simplerSidebar({
  2. mask: {
  3. display: true,
  4. css: {
  5. backgroundColor: "black",
  6. opacity: 0.5,
  7. filter: "Alpha(opacity=50)",
  8. },
  9. },
  10. });

7.自定义打开/关闭动画。

  1. $("#sidebar").simplerSidebar({
  2. animation: {
  3. duration: 500,
  4. easing: "swing",
  5. },
  6. });

8.完整的插件选项。

  1. // jQuery Version
  2. $("#sidebar").simplerSidebar({
  3. // element that triggers the close action
  4. quitter: "a",
  5. // data attribute assigned to the elements
  6. attr: "sidebar-main",
  7. // open the sidebar on init
  8. open: false,
  9. // right, left
  10. align: "left",
  11. // top position
  12. top: 0,
  13. // width
  14. width: 300,
  15. // gap
  16. gap: 64,
  17. // z-index property
  18. zIndex: 3000,
  19. // disable page scrolling when the sidebar is opened
  20. freezePage: true,
  21. animation: {
  22. duration: 500,
  23. easing: "swing",
  24. },
  25. mask: {
  26. display: true,
  27. css: {
  28. backgroundColor: "black",
  29. opacity: 0.5,
  30. filter: "Alpha(opacity=50)",
  31. },
  32. },
  33. });
  34.  
  35. // Vanilla JS Version
  36. var sidebar = new VanillaSidebar({
  37. selector: "#sidebar",
  38. triggerer: "#menu",
  39. quitter: ".quit-sidebar",
  40. mask: true,
  41. align: "left", // or 'right'
  42. top: "56px",
  43. width: "300px",
  44. gap: 56,
  45. opened: false,
  46. easing: "ease-in-out",
  47. zIndex: 3000,
  48. });

9.事件处理程序。

  1. $("#sidebar").simplerSidebar({
  2. events: {
  3. onOpen: function () {},
  4. afterOpen: function () {},
  5. onClose: function () {},
  6. afterClose: function () {},
  7. always: function () {},
  8. },
  9. });

10.API方法。

  1. var sidebar = new VanillaSidebar({
  2. // ...
  3. });
  4. sidebar.open();
  5. sidebar.close();

更新日志:

2022-09-14

  • Vanilla JS版本:修复:调整屏幕大小时弹出侧边栏

2022-09-12

  • 更新的香草JS版本
  • 添加了更多演示
  • 更新的文档

预览截图