手机端带二级菜单滑动导航的实现

实现的效果图:

Swiper插件是开源、免费、强大的移动端触摸滑动插件。Swiper能实现触屏焦点图、触屏Tab切换、触屏多图切换等常用效果。这个效果是freemode模式。
默认的这种模式下只能够实现一级导航,但是如果二级导航的话该如何实现呢?
下面这段代码是布局加样式的代码:

 <div class="swiper-head"><!-- Swiper --><div class="swiper-container-head"><div class="swiper-wrapper"><div class="swiper-slide"><a href="index.html">首页</a></div><div class="swiper-slide"><a href="product.html">产品中心</a></div><div class="swiper-slide"><a href="service.html">客户服务</a></div><div class="swiper-slide swiper-menu"><a href="javascript:void(0);" class='slide-down'>合作加盟</a></div><div class="swiper-slide swiper-menu"><a href="javascript:void(0);" class='slide-down'>关于我们</a></div></div><!-- Add Pagination --></div></div><div class="swiper-list"><ul class="swiper-list-content swiper-list-content-1 cf"><li><a href="cooperate.html">了解加盟</a></li><li><a href="login.html">企业服务</a></li></ul><ul class="swiper-list-content swiper-list-content-2 cf"><li><a href="aboutus.html">公司介绍</a></li><li><a href="trends-list.html">企业动态</a></li><li><a href="employ.html">招贤纳士</a></li></ul></div>

CSS样式

body {background:#fff;font-family:sans-serif, Helvetica Neue, Helvetica, Arial;font-size: 14px;color:#666;margin: 0;padding: 0;}ul, li{list-style: none;}.cf{zoom:1;}.cf:after{display:block; content:'clear'; clear:both; line-height:0; visibility:hidden;}.swiper-container-head {width: 100%;height: 40px;border-bottom: 1px solid #e1e1e1;}.swiper-slide {text-align: center;font-size: 18px;background: #f5f5f5;position: relative;/* Center slide text vertically */display: -webkit-box;display: -ms-flexbox;display: -webkit-flex;display: flex;-webkit-box-pack: center;-ms-flex-pack: center;-webkit-justify-content: center;justify-content: center;-webkit-box-align: center;-ms-flex-align: center;-webkit-align-items: center;align-items: center;}.swiper-slide a {display: block;text-decoration: none;color: #666;}.swiper-slide a:link,a:visited {text-decoration: none;}.swiper-slide .slide-none {display: block;}.slide-down:after {content: '';width: 4px;height: 4px;border-left: 2px solid #ccc;border-bottom: 2px solid #ccc;display: inline-block;vertical-align: middle;position: relative;left: 6px;transform: rotate(135deg);-webkit-transition: all 0.3s ease-in-out;}.down::after {transform: rotate(-45deg);}.swiper-list {width: 100%;height: 30px;display: block;position: fixed;top: 85px;z-index: 999999;}.swiper-list .swiper-list-content {width: 100%;height: auto;font-size: 16px;color: #666;text-align: center;line-height: 30px;padding: 0px;margin: 0px;background: #fbfbfb;opacity: 0.8;}.swiper-list .swiper-list-content li a {display: block;text-decoration: none;color: #666;}.swiper-list .swiper-list-content-1 {display: none;}.swiper-list .swiper-list-content-2 {display: none;}.swiper-list .swiper-list-content-1 li {width: 48%;height: auto;float: left;}.swiper-list .swiper-list-content-2 li {width: 33%;height: auto;float: left;}.swiper-list .slide-none {display: block;}.swiper-head {width: 100%;display: block;position: fixed;left: 0;top: 45px;z-index: 999999;}

最重要的是js部分来实现这种效果,当点击或滑动一级导航(除了带有二级导航的一级导航)时二级导航会消失,swiper很好的一点就是它可以留了接口callback函数来在各种触摸事件下添加相应的效果。添加动效可以用js也可以引入Jquery。

var swiper = new Swiper('.swiper-container-head', {slidesPerView:3,//这个参数是表示当前屏幕显示的菜单数paginationClickable: true,spaceBetween:0,//中间的间距freeMode: true,//开启freemode模式后有滑动的动效onTouchMove: function(swiper){//回调函数在触摸移动的时候触发$(".swiper-list-content").each(function(index,ele) {$(ele).removeClass("slide-none");});}});$(".swiper-menu").each(function(index,ele){touch.on(ele,'tap',function(ev){ev.preventDefault();$(".slide-down").removeClass("down").eq(index).addClass("down");$(".swiper-list-content").removeClass("slide-none").eq(index).addClass("slide-none");})touch.on($(document),'tap',function(){if( $(".swiper-list-content").hasClass('slide-none')){$(".swiper-list-content").removeClass('slide-none');}if($(".slide-down").hasClass("down")){$(".slide-down").removeClass("down");}})touch.on($(".swiper-slide"),'tap',function(event){event.stopPropagation();})//因为在实现触摸除了当前导航菜单二级菜单的隐藏,阻止冒泡事件**})

手机端带二级菜单滑动导航的实现相关推荐

  1. css二级菜单的隐藏与显示_具有二级菜单的导航案例

    下图为具有二级菜单的导航效果,鼠标悬浮在"服装"菜单时出现如图所示的二级菜单效果. 鼠标悬浮于二级菜单效果如下图所示: 注:鼠标悬浮于菜单时,二级菜单背景颜色为渐变,渐变颜色值为# ...

  2. Java外卖点餐送餐平台源码带手机端带文档(源码分享)

    Java仿饿了么外卖点餐送餐平台源码带手机端带文档(源码分享) 一个简单的外卖系统,包括手机端,后台管理,api基于spring boot和vue的前后端分离的外卖系统.包含手机端,后台管理功能. 核 ...

  3. 知道系统源码/知识问答系统源码/完整PC+手机端带功能强大后台管理系统

    仿百度知道系统源码,知识问答系统源码,带有完整的PC端.手机端界面,功能强大后台管理,非常适用于垂直问答社区类行业网站使用. 阿国简单测试了一下,系统功能比较完善,界面部门需要简单优化一下,整体还是很 ...

  4. html禁止页面左右滑动,手机端禁止浏览器左右滑动

    在手机端vue项目中,禁止页面左右滑动,代码直接写在index.html中 var startPos = 0,endPos = 0,isScrolling = 0; document.addEvent ...

  5. 微信小程序 PC端与手机端显示不一致之tabBar导航栏

    在编写微信小程序项目时,一开始为了显示出页面样式,我在app.json中,tabBar导航栏的list中设置了三个数组,对应三个导航块.但是三个导航块list中的pagePath设置为同一页面page ...

  6. Bootstrap手机端下拉菜单(铺满)

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  7. JS手机端touch事件计算滑动距离的方法

    计算手势在手机屏幕上滑动时,手势滑动的距离,代码如下: function wetherScroll(){ var startX = startY = endX =endY =0; var body=d ...

  8. 实现手机端的触屏滑动效果

    实现代码如下: HTML <div class="x-roll-top"><div class="x-roll"><div cla ...

  9. html手机端下拉菜单代码,jQuery手机移动端下拉列表选择代码

    js代码 $(function(){ $('.retrie dt a').click(function(){ var $t=$(this); if($t.hasClass('up')){ $(&quo ...

最新文章

  1. ★核心关注点_《信息系统项目管理师考试考点分析与真题详解》
  2. HTMLCSS学习笔记(四)----浮动原理及清浮动
  3. Visual Studio 2008 和 .NET Framework 3.5 Service Pack 1 Beta 发布
  4. 24、springboot与缓存(2)
  5. 以嵌入式系统设计师考试成绩,开始嵌入式博客之旅
  6. /dev/null 文件
  7. 开源纯C#工控网关+组态软件(五)从网关到人机界面
  8. Python3 爬虫学习笔记 C16【数据储存系列 — Redis】
  9. redhat挂载镜像软件包
  10. java certification_Java Certification.Status方法代码示例
  11. 电脑自动操作软件_六大写作软件功能解说,网络作家不可错过的码字软件宝典...
  12. VMware新建虚拟机步骤图解
  13. 【杂七杂八】《我叫MT online》反编译解析
  14. 误Ghost后的分区恢复
  15. 启动日志中出现The APR based Apache Tomcat Native library which allows optimal performance in production env
  16. 深海油气开发利器——水下机器人
  17. 与NFC相关的几种卡片
  18. OSPF的5、7类LSA中的FA、cost计算详解
  19. order by 、sort by、distribute by、group by、cluster by的区别
  20. 怎么把图片文件转换成PDF文件

热门文章

  1. 洛谷 P4168 [Violet]蒲公英
  2. Android实现点击跳转本地浏览器打开网页的精简方式
  3. android 8 不更新,[已解决]您可能遇到的Android 8 Oreo更新问题
  4. 182. 结束语及预告
  5. 个推成立西湖数据智能研究院,打造中国数据智能研究领域领头雁
  6. COOKIE与SESSION的真正区别在哪?
  7. java 仿qq 传文件_java网络编程实现QQ发消息文件,图片等内容
  8. BES2300x笔记----TWS组对与蓝牙配对
  9. 女大学生卫生间产下男婴 因害怕将其从6楼扔下
  10. 如何从PPT中提取视频、动画、音频、解说等