Afin de mettre en pratique mes compétences, il m'est arrivé de devoir créer une barre latérale lorsque j'apprenais à taper un site Web. J'ai également vérifié divers plug-ins et frameworks sur Internet pour réaliser cette fonction, mais je voulais apprendre à utiliser js de manière native. Après l'avoir essayé, j'ai brièvement terminé l'implémentation de la barre latérale, qui peut être utilisée comme référence pour les débutants. La capacité de codage est limitée.
La conception principale est la fonction animate(). La méthode animate() effectue des animations personnalisées des ensembles de propriétés CSS. Cette méthode fait passer un élément d'un état à un autre via les styles CSS. Les valeurs des propriétés CSS changent progressivement, vous permettant de créer des effets animés. Seules les valeurs numériques peuvent être animées (ex. "marge : 30px"). Les valeurs de chaîne ne peuvent pas être animées (telles que « background-color:red »). Veuillez rechercher plus d'informations par vous-même, je ne les présenterai pas en détail. De plus, la méthode de requête multimédia est utilisée pour ajuster la taille de la barre latérale en détectant la taille de l'écran de l'appareil actuel. La méthode de requête multimédia peut être utilisée pour définir différents styles pour différentes tailles d'écran, surtout si vous devez concevoir une page réactive.
Ce qui suit est l'implémentation spécifique, avec le code ci-joint :
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"/> <title>侧边栏</title> <link href="css/sideBar.css" rel="stylesheet" type="text/css" /> </head> <body> <p class="container"> <p class="header"> <p class="nav-icon"> <span></span> <span></span> <span></span> </p> </p> <p class="content">侧边栏内容</p> <p class="sideBar"> <p class="sideBar-left"> <p class="pider"></p> <p class="body-content"> <p class="messageWarning item"> <p><i class="message_icon"></i>消息提醒</p> <ul> <li class="news"> <i class="circle"></i><a href="javascript:void()">消息1</a> </li> <li class="news"> <i class="circle"></i><a href="javascript:void()">消息2</a> </li> <li class="news"> <i class="circle"></i><a href="javascript:void()">消息3</a> </li> <li class="news"> <i class="circle"></i><a href="javascript:void()">消息4</a> </li> </ul> </p> <p class="course item"> <p><i class="icon"></i>课程</p> <ul> <li class="myInfo"> <i class="circle"></i><a href="javascript:void()">我的课程</a> </li> <li class="Dynamic"> <i class="circle"></i><a href="javascript:void()">课程动态</a> </li> <li class="question"> <i class="circle"></i><a href="javascript:void()">问题空间</a> </li> <li class="homework"> <i class="circle"></i><a href="javascript:void()">课程作业</a> </li> </ul> </p> <p class="myHome item"> <a href="javascript:void()"> <i class="home_icon"></i>我的主页 </a> </p> <p class="exit item"> <a href="javascript:void()"> <i class="exit_icon"></i>退出 </a> </p> </p> </p> <p class="sideBar-right"></p> </p> </p> </body> <script src="js/jquery-2.1.4.min.js"></script> <script src="js/sideBar.js"></script> </html>
js mise en œuvre :
$(function(){ var windowWidth = $(window).width(); var windowHeight = $(window).height(); var sideBarWidth = windowWidth*0.8; //设置侧边栏左边宽度与右边高度 $(".sideBar-left").height(windowHeight); $(".sideBar-right").height(windowHeight); //侧边栏由左向右滑动 $(".nav-icon").on("click",function(){ $(".sideBar").animate({left: "0"},350); }); //点击退出,侧边栏由右向左滑动 $(".exit").on("click",function(){ $(".sideBar").animate({left: "-100%"},350); }); })
conception CSS :
*{ margin: 0; } a{ color: #fff; text-decoration: none; } .container{ width: 100%; height: 100%; min-width: 280px; position: relative; } .header{ background: #0C7AB3; list-style: none; } .nav-icon{ width: 30px; background: #0C7AB3; padding: 8px; } .nav-icon span{ display: block; border: 1px solid #fff; margin: 4px; width: 20px; } .nav-icon:hover{ cursor: pointer; } .sideBar{ width: 100%; position: absolute; top: 0px; left: -100%; } .sideBar-left{ width: 75%; background: #fff; float: left; background-color: #343A3E; } .sideBar-left .pider{ width: 80%; height: 6px; margin-top: 30px; padding-left: 15px; background-color: #3099FF; } .sideBar-left .body-content{ width: 80%; margin-top: 15px; padding: 15px 0 15px 15px; border-top: 2px solid #3099FF; color: #EFEFEF; } .body-content .item{ margin: 4px; } .item ul{ list-style: none; margin-left: -24px; } .item ul li{ margin:8px; } .item .circle{ width: 10px; height: 10px; margin-right: 10px; border-radius: 50%; background-color: #3099FF; display: inline-block; } .sideBar-right{ width:25%; display: inline-block; background-color: rgba(0, 0, 0, 0.5); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!