jquery切换类打开和关闭问题

dddzy1tm  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(283)

我正在尝试为响应大小制作开-关菜单。我用这个代码隐藏菜单

  1. left: -50%;

但是当我尝试用这个代码打开它时,它不起作用。

  1. # left-side.active {
  2. left: 60%;
  3. }

以下是我的jquery切换代码:

  1. function toggleLeftSideBar() {
  2. document.getElementById('#left-side').classList.toggle('active');
  3. }

这是我的完整代码:

  1. $("#accordion h3").click(function() {
  2. $(this).toggleClass('open');
  3. $(this).parent().siblings().find('h3').removeClass('open');
  4. $("#accordion ul ul").slideUp("fast");
  5. if (!$(this).next().is(":visible")) {
  6. $(this).next().slideDown("fast");
  7. }
  8. })
  9. function toggleLeftSideBar() {
  10. document.getElementById('#left-side').classList.toggle('active');
  11. }
  1. * {
  2. box-sizing: border-box;
  3. }
  4. body {
  5. font-family: 'Raleway', sans-serif;
  6. height: 100%;
  7. background-color: #f5f7f8;
  8. }
  9. h1 {
  10. text-align: center;
  11. padding: 0.6em 1em;
  12. font-size: 1.4em;
  13. background-color: #31363b;
  14. display: inline-block;
  15. width: 20%;
  16. position: fixed;
  17. }
  18. h1>a {
  19. text-decoration: none;
  20. color: #202326;
  21. ;
  22. transition: all 1s ease-in-out;
  23. font-weight: 900;
  24. }
  25. h1:hover>a {
  26. text-decoration: none;
  27. color: #aaa;
  28. ;
  29. }
  30. # h1-span {
  31. font-weight: bold;
  32. display: inline;
  33. }
  34. /* Left Side */
  35. # left-side {
  36. height: 100%;
  37. width: 20%;
  38. background-color: #2a2f33;
  39. position: fixed;
  40. display: flex;
  41. overflow-x: hidden;
  42. top: 44px;
  43. left: 0;
  44. }
  45. /*Logo section*/
  46. .logo-ul {
  47. width: 6%;
  48. background-color: #2a2f33;
  49. }
  50. .logo-li {
  51. padding: 0.5em;
  52. }
  53. .img-logo {
  54. width: 40px;
  55. height: 40px;
  56. opacity: 0.4;
  57. transition: all 1s ease;
  58. }
  59. .img-logo:hover {
  60. opacity: 1;
  61. }
  62. .notification-span {
  63. font-size: 10px !important;
  64. border-radius: 5px;
  65. border: 1px solid green;
  66. margin-left: 8px;
  67. padding: 1px 12px;
  68. }
  69. /*Accordion Menu*/
  70. # accordion {
  71. width: 100%;
  72. background-color: #393d42;
  73. color: #fff;
  74. }
  75. # accordion h3 {
  76. text-transform: uppercase;
  77. font-size: 11px;
  78. line-height: 30px;
  79. padding: 10px 10px;
  80. cursor: pointer;
  81. transition: all .2s linear;
  82. }
  83. # accordion h3:hover {
  84. background-color: #f55661;
  85. }
  86. # accordion h3:hover i {
  87. color: #fff;
  88. }
  89. /* links */
  90. # accordion ul ul li a {
  91. color: white;
  92. display: block;
  93. font-size: 11px;
  94. line-height: 27px;
  95. padding: 0 15px;
  96. text-decoration: none;
  97. transition: all .1s;
  98. }
  99. /* hover effect */
  100. # accordion ul ul li a:hover {
  101. color: #f55661;
  102. }
  103. /* hide non-actives by default */
  104. # accordion ul ul {
  105. display: none;
  106. list-style-type: disc;
  107. padding: 1.8em;
  108. background: #32363a
  109. }
  110. # accordion ul ul:first-child {
  111. background: #32363a;
  112. }
  113. /* #accordion li.active ul{
  114. display:block;
  115. }*/
  116. /* Icon font styles */
  117. # accordion h3 span {
  118. font-size: 16px;
  119. padding-right: 10px;
  120. }
  121. .left-icon i {
  122. color: #f55661;
  123. }
  124. .open {
  125. background-color: #f55661;
  126. }
  127. .open i {
  128. color: white;
  129. }
  130. /* Right Side */
  131. # right-side {
  132. margin-left: 20%;
  133. width: 75%;
  134. padding: 10px;
  135. }
  136. .right-image {
  137. display: flex;
  138. justify-content: flex-end;
  139. width: 100%;
  140. }
  141. .right-image img {
  142. width: 3em;
  143. height: 3em;
  144. border-radius: 50%;
  145. }
  146. .rightside-ul {
  147. display: flex;
  148. margin: 1em;
  149. }
  150. .rightside-li {
  151. margin: 1em;
  152. font-size: .8em;
  153. }
  154. .rightside-li>a {
  155. text-decoration: none;
  156. }
  157. /*Card Area*/
  158. .card-area {
  159. display: flex;
  160. flex-wrap: wrap;
  161. }
  162. /*Card Component*/
  163. .card {
  164. padding: 1em;
  165. }
  166. h4 {
  167. color: #959595;
  168. font-size: 22px;
  169. margin-left: 1em;
  170. }
  171. .right-icon i {
  172. color: #fff;
  173. }
  174. .card-component {
  175. display: flex;
  176. padding: 1em;
  177. }
  178. .content-area {
  179. padding: 1em;
  180. background-color: #fff;
  181. border-radius: 5px;
  182. display: flex;
  183. flex-direction: column;
  184. align-content: center;
  185. }
  186. .statusbar {
  187. min-width: 1.5em;
  188. background-color: green;
  189. display: flex;
  190. align-items: center;
  191. justify-content: center;
  192. border-radius: 3px;
  193. }
  194. .content-nav {
  195. display: flex;
  196. }
  197. .content-area p {
  198. width: 300px;
  199. text-align: left;
  200. align-items: center;
  201. margin-bottom: 1em;
  202. }
  203. .content-ul {
  204. display: flex;
  205. padding-bottom: 2em;
  206. margin-left: 4em;
  207. }
  208. .content-ul li {
  209. display: flex;
  210. }
  211. .content-ul li a {
  212. text-decoration: none;
  213. margin-right: 1em;
  214. }
  215. .img-container {
  216. width: 300px;
  217. height: 200px;
  218. margin: 0 auto;
  219. }
  220. .img-container img {
  221. width: 100%;
  222. height: 100%;
  223. object-fit: cover;
  224. }
  225. .card-footer-ul {
  226. display: flex;
  227. justify-content: space-around;
  228. margin-top: 1em;
  229. }
  230. .card-footer-ul li a {
  231. text-decoration: none;
  232. }
  233. .reaction-span {
  234. color: #acacac;
  235. }
  236. /* RESPONSİVE */
  237. @media screen and (max-width: 988px) {
  238. body {
  239. font-size: .8em;
  240. }
  241. #left-side {
  242. min-width: 230px;
  243. left: -50%;
  244. /*This hides the menu to left*/
  245. }
  246. #right-size {
  247. margin-left: 10%;
  248. width: 70%;
  249. padding: 6px;
  250. }
  251. h1 {
  252. font-size: 1.2em;
  253. min-width: 230px;
  254. padding: 1em;
  255. display: none;
  256. }
  257. #accordion h3 {
  258. font-size: .7em;
  259. }
  260. #left-side.active {
  261. left: 60%;
  262. }
  263. .leftsidebarButton {
  264. position: absolute;
  265. left: 5%;
  266. top: 20px;
  267. cursor: pointer;
  268. }
  269. .leftsidebarButton::before {
  270. content: "\f0c9";
  271. font-family: 'Font Awesome\ 5 Free';
  272. font-weight: 900;
  273. font-size: 2.2em;
  274. position: absolute;
  275. padding: 5px;
  276. }
  277. }
  1. <link href="https://fonts.googleapis.com/css2?family=Raleway:wght@100;200;300;400;500;700&display=swap" rel="stylesheet">
  2. <script src="https://kit.fontawesome.com/eb6e3d525a.js" crossorigin="anonymous"></script>
  3. <div id="wrap-page">
  4. <h1><a href="https://www.sociality.io" target="_blank"><span id=h1-span>sociality</span>.io</h1></a>
  5. <section id="left-side" onclick="toggleLeftSideBar()">
  6. <div id="logo" class="active">
  7. <ul class="logo-ul">
  8. <li class="logo-li">
  9. <a href="#"><img class="img-logo" src="images/instagramlogo.png" alt="instagram-logo"></a>
  10. </li>
  11. <li class="logo-li">
  12. <a href="#"><img class="img-logo" src="images/twitterlogo.png" alt="twitter-logo"></a>
  13. </li>
  14. <li class="logo-li">
  15. <a href="#"><img class="img-logo" src="images/pinterestlogo.png" alt="pinterest-logo"></a>
  16. </li>
  17. <li class="logo-li">
  18. <a href="#"><img class="img-logo" src="images/linkedinlogo.png" alt="linkedin-logo"></a>
  19. </li>
  20. <li class="logo-li">
  21. <a href="#"><img class="img-logo" src="images/youtubelogo.png" alt="youtube-logo"></a>
  22. </li>
  23. <li class="logo-li">
  24. <a href="#"><img class="img-logo" src="images/facebooklogo.png" alt="facebook-logo"></a>
  25. </li>
  26. </ul>
  27. </div>
  28. <div id="accordion">
  29. <ul>
  30. <li class="active">
  31. <h3><span class="left-icon icon-dashboard"><i class="far fa-bell"></i></span>Notifications<span class="notification-span">29</span></h3>
  32. </li>
  33. <li>
  34. <h3 class="tooltip"><span class="left-icon icon-coffee"><i class="fab fa-slideshare"></i></span>Summary </h3>
  35. <ul class>
  36. <li class="accordion-li "><a href="# ">Lorem</a></li>
  37. <li class="accordion-li "><a href="# ">Ipsum</a></li>
  38. </ul>
  39. </li>
  40. <li>
  41. <h3><span class="left-icon icon-cloud "><i class="fas fa-edit "></i></span>Publish</h3>
  42. <ul>
  43. <li class="accordion-li "><a href="# ">Lorem</a></li>
  44. <li class="accordion-li "><a href="# ">Ipsum</a></li>
  45. </ul>
  46. </li>
  47. <li>
  48. <h3><span class="left-icon icon-cloud "><i class="far fa-comments "></i></span>Engage</h3>
  49. <ul>
  50. <li class="accordion-li "><a href="# ">Lorem</a></li>
  51. <li class="accordion-li "><a href="# ">Ipsum</a></li>
  52. </ul>
  53. </li>
  54. <li>
  55. <h3><span class="left-icon icon-cloud "><i class="fas fa-volume-up "></i></span>Listen</h3>
  56. <ul>
  57. <li class="accordion-li "><a href="# ">Lorem</a></li>
  58. <li class="accordion-li "><a href="# ">Ipsum</a></li>
  59. </ul>
  60. </li>
  61. <li>
  62. <h3><span class="left-icon icon-cloud "><i class="fas fa-chart-line "></i></span>Report</h3>
  63. <ul>
  64. <li class="accordion-li "><a href="# ">Lorem</a></li>
  65. <li class="accordion-li "><a href="# ">Ipsum</a></li>
  66. </ul>
  67. </li>
  68. </ul>
  69. </div>
  70. </div>
  71. <div class="leftsidebarButton "></div>
  72. </section>
  73. <section id="right-side ">
  74. <ul style="list-style: disc; " class="rightside-ul ">
  75. <li style="color:#acacac " class="rightside-li ">
  76. <a href="# "><span style="color:black ">Published</span></a>
  77. </li>
  78. <li style="color:#3ac183 " class="rightside-li ">
  79. <a href="# "><span style="color:black ">Scheduled</span></a>
  80. </li>
  81. <li style="color:#f7bf38; white-space: nowrap; " class="rightside-li ">
  82. <a href="# "><span style="color:black ">Need Approval</span></a>
  83. </li>
  84. <li style="color:#fb6450 " class="rightside-li ">
  85. <a href="# "><span style="color:black ">Error</span></a>
  86. </li>
  87. <li style="color:#67b1f2 " class="rightside-li ">
  88. <a href="# "><span style="color:black ">Notes</span></a>
  89. </li>
  90. <div class="right-image ">
  91. <img src="images/fakefacegenerator.jpg " alt="profileimage ">
  92. </div>
  93. </ul>
  94. <h4>14 January 2016</h4>
  95. <!--Card Components -->
  96. <div class="card-area ">
  97. <div class="card ">
  98. <div class="card-component ">
  99. <div style="background-color: #3ac183; " class="statusbar ">
  100. <span class="right-icon "> <i class="fab fa-facebook-f "></i> </span>
  101. </div>
  102. <div class="content-area ">
  103. <div class="content-nav ">
  104. <h5>14 January 2016 - 14:30</h5>
  105. <ul class="content-ul ">
  106. <li> <a href="# "><span class="reaction-span "> <i class="fas fa-ban "></i> </a></span>
  107. </li>
  108. <li> <a href="# "><span class="reaction-span "> <i class="far fa-trash-alt "></i> </a></span>
  109. </li>
  110. <li> <a href="# "><span class="reaction-span "> <i class="fas fa-info-circle "></i> </a></span>
  111. </li>
  112. </ul>
  113. </div>
  114. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt rem quo sit asperiores? </p>
  115. <div class="img-container ">
  116. <img src="images/icecream1.jpg " alt="icecream1 ">
  117. </div>
  118. <div class="card-footer-nav ">
  119. <ul class="card-footer-ul ">
  120. <li>
  121. <a href="# "> <span class="reaction-span "><i class="far fa-thumbs-up "></i></span> 0 </a>
  122. </li>
  123. <li>
  124. <a href="# "> <span class="reaction-span "><i class="far fa-comment "></i></span> 0 </a>
  125. </li>
  126. <li>
  127. <a href="# "> <span class="reaction-span "><i class="fas fa-share-alt "></i></span> 0 </a>
  128. </li>
  129. <li>
  130. <a href="# "> <span class="reaction-span "><i class="far fa-eye "></i></span> 0 </a>
  131. </li>
  132. </ul>
  133. </div>
  134. </div>
  135. </div>
  136. </div>
  137. </div>
  138. <div class="card ">
  139. <div class="card-component ">
  140. <div style="background-color: #f7bf38; " class="statusbar ">
  141. <span class="right-icon "> <i class="fab fa-twitter "></i> </span>
  142. </div>
  143. <div class="content-area ">
  144. <div class="content-nav ">
  145. <h5>14 January 2016 - 14:30</h5>
  146. <ul class="content-ul ">
  147. <li> <a href="# "><span class="reaction-span "> <i class="fas fa-check "></i> </a></span>
  148. </li>
  149. <li> <a href="# "><span class="reaction-span "> <i class="far fa-trash-alt "></i> </a></span>
  150. </li>
  151. <li> <a href="# "><span class="reaction-span "> <i class="fas fa-info-circle "></i> </a></span>
  152. </li>
  153. </ul>
  154. </div>
  155. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt rem quo sit asperiores? </p>
  156. <div class="img-container ">
  157. <img src="images/icecream2.jpg " alt="icecream1 ">
  158. </div>
  159. <div class="card-footer-nav ">
  160. <ul class="card-footer-ul ">
  161. <li>
  162. <a href="# "> <span class="reaction-span "><i class="far fa-thumbs-up "></i></span> 0 </a>
  163. </li>
  164. <li>
  165. <a href="# "> <span class="reaction-span "><i class="fas fa-retweet "></i></span> 0 </a>
  166. </li>
  167. <li>
  168. <a href="# "> <span class="reaction-span "><i class="fas fa-share-alt "></i></span> 0 </a>
  169. </li>
  170. <li>
  171. <a href="# "> <span class="reaction-span "><i class="far fa-eye "></i></span> 0 </a>
  172. </li>
  173. </ul>
  174. </div>
  175. </div>
  176. </div>
  177. </div>
  178. <h4>12 January 2016</h4>
  179. <!--Card Components -->
  180. <div class="card-area ">
  181. <div class="card ">
  182. <div class="card-component ">
  183. <div style="background-color: #acacac; " class="statusbar ">
  184. <span class="right-icon "><i class="fab fa-facebook-f "></i> </span>
  185. </div>
  186. <div class="content-area ">
  187. <div class="content-nav ">
  188. <h5>14 January 2016 - 14:30</h5>
  189. <ul class="content-ul ">
  190. <li> <a href="# "><span class="reaction-span "> <i class="far fa-trash-alt "></i> </a></span>
  191. </li>
  192. <li> <a href="# "><span class="reaction-span "> <i class="fas fa-info-circle "></i> </a></span>
  193. </li>
  194. </ul>
  195. </div>
  196. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt rem quo sit asperiores? </p>
  197. <div class="img-container ">
  198. <img src="images/dog1.jpg " alt="icecream1 ">
  199. </div>
  200. <div class="card-footer-nav ">
  201. <ul class="card-footer-ul ">
  202. <li>
  203. <a href="# "> <span class="reaction-span "><i class="far fa-thumbs-up "></i></span> 0 </a>
  204. </li>
  205. <li>
  206. <a href="# "> <span class="reaction-span "><i class="far fa-comment "></i></span> 0 </a>
  207. </li>
  208. <li>
  209. <a href="# "> <span class="reaction-span "><i class="fas fa-share-alt "></i></span> 0 </a>
  210. </li>
  211. <li>
  212. <a href="# "> <span class="reaction-span "><i class="far fa-eye "></i></span> 0 </a>
  213. </li>
  214. </ul>
  215. </div>
  216. </div>
  217. </div>
  218. </div>
  219. <div class="card ">
  220. <div class="card-component ">
  221. <div style="background-color: #acacac; " class="statusbar ">
  222. <span class="right-icon "> <i class="fab fa-twitter "></i> </span>
  223. </div>
  224. <div class="content-area ">
  225. <div class="content-nav ">
  226. <h5>14 January 2016 - 14:30</h5>
  227. <ul class="content-ul ">
  228. <li> <a href="# "><span class="reaction-span "> <i class="far fa-trash-alt "></i> </a></span>
  229. </li>
  230. <li> <a href="# "><span class="reaction-span "> <i class="fas fa-info-circle "></i> </a></span>
  231. </li>
  232. </ul>
  233. </div>
  234. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt rem quo sit asperiores? </p>
  235. <div class="img-container ">
  236. <img src="images/dog1.jpg " alt="icecream1 ">
  237. </div>
  238. <div class="card-footer-nav ">
  239. <ul class="card-footer-ul ">
  240. <li>
  241. <a href="# "> <span class="reaction-span "><i class="far fa-thumbs-up "></i></span> 0 </a>
  242. </li>
  243. <li>
  244. <a href="# "> <span class="reaction-span "><i class="fas fa-retweet "></i></span> 0 </a>
  245. </li>
  246. <li>
  247. <a href="# "> <span class="reaction-span "><i class="fas fa-share-alt "></i></span> 0 </a>
  248. </li>
  249. <li>
  250. <a href="# "> <span class="reaction-span "><i class="far fa-eye "></i></span> 0 </a>
  251. </li>
  252. </ul>
  253. </div>
  254. </div>
  255. </div>
  256. </div>
  257. <div class="card ">
  258. <div class="card-component ">
  259. <div style="background-color: #acacac; " class="statusbar ">
  260. <span class="right-icon "> <i class="fab fa-instagram "></i> </span>
  261. </div>
  262. <div class="content-area ">
  263. <div class="content-nav ">
  264. <h5>14 January 2016 - 14:30</h5>
  265. <ul class="content-ul ">
  266. <li> <a href="# "><span class="reaction-span "> <i class="far fa-trash-alt "></i> </a></span>
  267. </li>
  268. <li> <a href="# "><span class="reaction-span "> <i class="fas fa-info-circle "></i> </a></span>
  269. </li>
  270. </ul>
  271. </div>
  272. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt rem quo sit asperiores? </p>
  273. <div class="img-container ">
  274. <img src="images/dog1.jpg " alt="icecream1 ">
  275. </div>
  276. <div class="card-footer-nav ">
  277. <ul class="card-footer-ul ">
  278. <li>
  279. <a href="# "> <span class="reaction-span "><i class="far fa-thumbs-up "></i></span> 0 </a>
  280. </li>
  281. <li>
  282. <a href="# "> <span class="reaction-span "><i class="far fa-comment "></i></span> 0 </a>
  283. </li>
  284. <li>
  285. <a href="# "> <span class="reaction-span "><i class="fas fa-share-alt "></i></span> 0 </a>
  286. </li>
  287. <li>
  288. <a href="# "> <span class="reaction-span "><i class="far fa-eye "></i></span> 0 </a>
  289. </li>
  290. </ul>
  291. </div>
  292. </div>
  293. </div>
  294. </div>
  295. </div>
  296. </section>
  297. </div>
  298. <script src="https://code.jquery.com/jquery-3.6.0.js " integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin=" anonymous "></script>
jei2mxaa

jei2mxaa1#

我将提供一个更简单的方法,你可以遵循隐藏和显示边栏

  1. $('.toggle').click(function() {
  2. $('.sidebar').toggleClass('active');
  3. });
  1. * {
  2. box-sizing: border-box;
  3. }
  4. body {
  5. width: 100%;
  6. height: 100vh;
  7. overflow-x: hidden;
  8. margin: 0;
  9. padding: 0;
  10. }
  11. .d-flex {
  12. display: flex;
  13. height: 100%;
  14. }
  15. .sidebar {
  16. width: 300px;
  17. background-color: blueviolet;
  18. transition: width 500ms ease-out;
  19. }
  20. .main {
  21. width: 100%;
  22. background-color: cyan;
  23. }
  24. .sidebar.active {
  25. width: 0;
  26. }
  1. <script src="https://code.jquery.com/jquery-3.6.0.js " integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin=" anonymous "></script>
  2. <div class="d-flex">
  3. <div class="sidebar">f</div>
  4. <div class="main">
  5. <a class="toggle" href="javascript:void(0)">toggle</a>
  6. </div>
  7. </div>
展开查看全部

相关问题