技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营
卡卡网是专业的网站测速平台,网速测试,测试网站速度,就来卡卡网 ~
问题反馈网络日志

【DiyVM】沙田机房/香港云/回国CN2线路/AMD EPYC/39元一月5M/CN2海外云主机 24元/月BGP+CN2海外云 低至25元/月海外主机 低至$2/月

DiyVM:香港VPS惊爆价36元一月
★站长/主播变现★有流量就来
5M CN2 GIA云主机 24元起
一一一云主机 26元起一一一
官方高价收量,每日稳定结算

一一云主机 24元 3折起一一
海外CN2云 低至$2.5/月
海外云低至2折 298/年
免费测试★APK免杀 谷歌过保护
官方收量CPA/CPS长期稳定

海外主机 5M CN2 低至$2/月
恒创科技 一 海外服务器 ● 高速稳定
★解决安装报毒★谷歌过保护机制
超级签★免杀★加固★满意付款
全球云主机 3天试用再买

【菠萝云】香港4G内存99元,马上开通
亿人互联-津/京BGP托管租用/VPS
苹果签名/APP封装/远控免杀
10M CN2海外云VPS 53元/月
CN2 GIA/1000Mbps $111/月

实力产品变现
实力产品变现
实力产品变现
实力产品变现
实力产品变现

赞助商

分类目录

赞助商

最新文章

字体单位是相对测量单位,是根据其他一些值计算的,可以动态变化。与字体相关的测量单...
stroke-width设置形状的描边粗细,如果在 HTML 中,框架是从外边缘...
本文给大家介绍10款用SVG蒙版制作的图片转场/过渡动画,并分析如何实现它们。
CSS 数据类型<filter-function>代表可以改变输入图...
CSS box-shadow 属性用于在元素的框架上添加阴影效果。你可以在同一个...
drop-shadow() 是一个CSS 过滤器函数,其将投影效果应用于输入图像...
本文给大家介绍一个SVG实现的网页气泡动画效果。 

搜索

jQuery黑色左侧边导航菜单(可折叠可缩进滑出)

作者:admin    时间:2023-5-12 19:10:28    浏览:435

前面介绍过一款layui框架实现的可折叠侧栏导航菜单,本文介绍的侧栏导航可以说是前面介绍的升级,因为它多了一些特色,比如增加了图标字体,画面观感更好了,此外,最主要的是它还可以缩进滑出。

效果图

 jQuery黑色左侧边导航菜单(可折叠可缩进滑出)

demodownload

示例介绍

本示例由CSS3+jQuery实现,另外用到了图标字体iconfont。

  • 点击主菜单时,打开或折叠二级菜单。
  • 打开二级菜单时,其父菜单项右边的小箭头由向右转为向下。
  • 关闭二级菜单时,其父菜单项右边的小箭头由向下转为向右。
  • 点击左上角四横图标,导航菜单会缩向左侧(最后只显示各菜单项的图标)或从左侧滑出。
  • 菜单消失后,鼠标移到图标上时,其右边显示该菜单项的二级菜单。

HTML代码

下面是示例的HTML代码结构。

  1. <div class="nav">
  2.   <div class="nav-top">
  3.     <div id="mini" style="border-bottom:1px solid rgba(255,255,255,.1)"><img src="statics/images/mini.png"></div>
  4.   </div>
  5.   <ul>
  6.     <li class="nav-item"> <a href="javascript:;"><i class="my-icon nav-icon icon_1"></i><span>网站配置</span><i class="my-icon nav-more"></i></a>
  7.       <ul>
  8.         <li><a href="javascript:;"><span>网站设置</span></a></li>
  9.         <li><a href="javascript:;"><span>友情链接</span></a></li>
  10.         <li><a href="javascript:;"><span>分类管理</span></a></li>
  11.         <li><a href="javascript:;"><span>系统日志</span></a></li>
  12.       </ul>
  13.     </li>
  14.     <li class="nav-item"> <a href="javascript:;"><i class="my-icon nav-icon icon_2"></i><span>文章管理</span><i class="my-icon nav-more"></i></a>
  15.       <ul>
  16.         <li><a href="javascript:;"><span>站内新闻</span></a></li>
  17.         <li><a href="javascript:;"><span>站内公告</span></a></li>
  18.         <li><a href="javascript:;"><span>登录日志</span></a></li>
  19.       </ul>
  20.     </li>
  21.     <li class="nav-item"> <a href="javascript:;"><i class="my-icon nav-icon icon_3"></i><span>订单管理</span><i class="my-icon nav-more"></i></a>
  22.       <ul>
  23.         <li><a href="javascript:;"><span>订单列表</span></a></li>
  24.         <li><a href="javascript:;"><span>打个酱油</span></a></li>
  25.         <li><a href="javascript:;"><span>也打酱油</span></a></li>
  26.       </ul>
  27.     </li>
  28.   </ul>
  29. </div>

div标签是导航的盒子,div里面第一层ul标签是导航菜单的容器,其子元素li标签是主菜单项目列举。

每个主菜单项目的li标签,里面都可以嵌入一个ul标签,这是一个二级菜单的容器,而这个ul标签里的li元素,就是二级菜单列举项。

x

CSS

本示例导航的CSS样式代码不多,下面分析下主要的样式。

.nav 设置导航盒子的宽度、高度、背景等样式。

  1. .nav {
  2.   width: 220px;
  3.   height: 100%;
  4.   background: #263238;
  5.   transition: all .3s;
  6. }

这里用了一个transition属性,其值是 all .3s;transition 属性用于在特定时间段内改变 CSS 属性的值,例如宽度、高度、不透明度和变换。参阅 css transition 属性

.nav-item 设置导航主菜单项的位置等样式。

  1. .nav-item {
  2.   position: relative;
  3. }
  4. li {
  5.   list-style: none;
  6. }

 

菜单名称前面的i标签,是一个图标字体的标签,其属性值为 my-icon nav-icon icon_1

.icon_1::after 是图标字体的伪元素。

.nav-icon 设置位置等样式。

.my-icon 设置字体样式。

  1. .icon_1::after {
  2.   content: "\e62b";
  3. }
  4. .nav .nav-icon {
  5.   font-size: 20px;
  6.   position: absolute;
  7.   margin-left: -1px;
  8. }
  9. .my-icon {
  10.   font-family: "my-icon" !important;
  11.   font-size: 16px;
  12.   font-style: normal;
  13.   -webkit-font-smoothing: antialiased;
  14.   -moz-osx-font-smoothing: grayscale;
  15. }

 

本示例CSS代码比较简单易懂,不过需要引用iconfont图标字体。

  1. <link rel="stylesheet" type="text/css" href="statics/font/iconfont.css">

iconfont图标字体有一些关联文件。

 

请放心,这些文件都在源码包里,示例引用的文件都是本地的而不是使用公共库文件。

你可能需要在你的web服务器进行相关配置,以支持该图标字体。可参阅我写的几篇文章。

JavaScript

本示例需要使用jQuery编程,以实现鼠标点击事件的交互功能。

  1. $(function(){
  2.     // nav收缩展开
  3.     $('.nav-item>a').on('click',function(){
  4.         if (!$('.nav').hasClass('nav-mini')) {
  5.             if ($(this).next().css('display') == "none") {
  6.                 //展开未展开
  7.                 $('.nav-item').children('ul').slideUp(300);
  8.                 $(this).next('ul').slideDown(300);
  9.                 $(this).parent('li').addClass('nav-show').siblings('li').removeClass('nav-show');
  10.             }else{
  11.                 //收缩已展开
  12.                 $(this).next('ul').slideUp(300);
  13.                 $('.nav-item.nav-show').removeClass('nav-show');
  14.             }
  15.         }
  16.     });
  17.     //nav-mini切换
  18.     $('#mini').on('click',function(){
  19.         if (!$('.nav').hasClass('nav-mini')) {
  20.             $('.nav-item.nav-show').removeClass('nav-show');
  21.             $('.nav-item').children('ul').removeAttr('style');
  22.             $('.nav').addClass('nav-mini');
  23.         }else{
  24.             $('.nav').removeClass('nav-mini');
  25.         }
  26.     });
  27. });

总结

本文介绍了jQuery黑色左侧边导航菜单,该导航菜单可折叠可缩进滑出,并使用了图标字体,做得非常好看,风格大气又沉稳,适合各种类型的网站使用。喜欢的朋友可以收藏本页,也可以直接下载源码备用。

相关文章

x
广告: 【限时】云主机 24元/月