响应式菜单栏: bootstrap + jQuery
bootstrap库能够很方便的实现PC和移动上的响应式操作。
jQuery库大大的简化了脚本的开发;
html:
<html>
<body>
<div class='main_content'>
<div class='nav_list'>
{include file="admin@public/nav"}
<a href="#" class="js-yw-nav-toggle yw-nav-toggle"><i></i></a> <!-- fixed left bottom -->
</div>
<div class='manager_content '>
{block name="content"}{/block}
</div>
</div>
</body>
</html>
css:
.yw-nav-toggle i::before, .yw-nav-toggle i::after {
content: '';
width: 30px;
height: 2px;
background: #000;
position: absolute;
left: 0;
-webkit-transition: 0.2s;
-o-transition: 0.2s;
transition: 0.2s;
}
.yw-nav-toggle i::before {
top: -7px;
}
.yw-nav-toggle i::after {
bottom: -7px;
}
.yw-nav-toggle:hover i::before {
top: -10px;
}
.yw-nav-toggle:hover i::after {
bottom: -10px;
}
.yw-nav-toggle:active i::before {
top: 0px;
-webkit-transform: rotateZ(45deg);
-moz-transform: rotateZ(45deg);
-ms-transform: rotateZ(45deg);
-o-transform: rotateZ(45deg);
transform: rotateZ(45deg);
}
.yw-nav-toggle:active i::after {
bottom: 0px;
-webkit-transform: rotateZ(-45deg);
-moz-transform: rotateZ(-45deg);
-ms-transform: rotateZ(-45deg);
-o-transform: rotateZ(-45deg);
transform: rotateZ(-45deg);
}
.nav_list {
position: fixed;
width: 150px;
border: 1px solid #0d5c57;
margin-left: 2px;
margin-top: 10px;
-moz-transform: translateX(0px);
-webkit-transform: translateX(0px);
-ms-transform: translateX(0px);
-o-transform: translateX(0px);
transform: translateX(0px);
-moz-transform: translateX(0px);
-webkit-transition: 0.5s;
-o-transition: 0.5s;
transition: 0.5s;
}
@media screen and (max-width: 768px) {
.yw-nav-toggle {
opacity: 1;
visibility: visible;
}
.nav_list {
width: 150px;
-moz-transform: translateX(-150px);
-webkit-transform: translateX(-150px);
-ms-transform: translateX(-150px);
-o-transform: translateX(-150px);
transform: translateX(-150px);
-moz-transform: translateX(-150px);
}
}
body.nav_offscreen .nav_list{
width: 150px;
-moz-transform: translateX(0px);
-webkit-transform: translateX(0px);
-ms-transform: translateX(0px);
-o-transform: translateX(0px);
transform: translateX(0px);
}
jQuery:
//click;
var nav_off = function() {
$('.js-yw-nav-toggle').on('click', function(event) {
event.preventDefault();
var $this = $(this); if ($("body").hasClass("nav_offscreen")) {
$("body").removeClass("nav_offscreen");
$this.removeClass("active");
} else {
$("body").addClass("nav_offscreen");
$this.addClass("active");
} }); $(Window).scroll(function(){
if ($("body").hasClass("nav_offscreen")) {
$("body").removeClass("nav_offscreen");
$(".js-yw-nav-toggle").removeClass("active");
}
});
} var menuOutClick = function() {
$(document).click(
function(e) {
var container = $(".nav_list, .js-yw-nav-toggle");
if (!container.is(e.target)
&& container.has(e.target).length === 0) {
if ($("body").hasClass("nav_offscreen")) {
$("body").removeClass("nav_offscreen");
$(".js-yw-nav-toggle").removeClass("active");
}
}
});
}
响应式菜单栏: bootstrap + jQuery的更多相关文章
- 15款帮助你实现响应式导航的 jQuery 插件
对于我们大多数人来说,建立一个负责任的布局中最困难的方面是规划和导航的实现.由于没有真正经得起考验的通用解决方案,您可以使用的菜单设计风格将取决于正在建设的网站类型. 无论你正在建设什么类型的网站,在 ...
- jQuery响应式幻灯片插件jquery.glide.js(支持触摸&轻量级)
找到一款好的幻灯片插件不容易,找到一款功能全并且使用很简单的幻灯片更不容易,今天为大家分享一款全能的幻灯片插件glide.js,也是我现在在使用的一款插件. jquery.glide.js是响应和触摸 ...
- 响应式布局 Bootstrap
github介绍 (1)简单灵活可用于架构流行的 用户界面和交互接口 的html.css.javascript工具集 (2)基于html5.css3的bootstrap,具有大量的诱人特征: 友好的学 ...
- 响应式与bootstrap
一.单双击问题 <body> <button>按钮</button> <script src="./jQuery.js"></ ...
- web响应式之bootstrap的基础用法。
1/首先必须在head里面引用视窗viewport,以保证之后可以响应式分布 <!--meta:vp 响应式布局--> <meta name="viewport" ...
- 【课程分享】ASP.NET MVC5&微信公众平台整合开发实战(响应式布局、JQuery Mobile,Windows Azure、微信核心开发)
对这个课程有兴趣的,能够联系我QQ2748165793 基础知识储备 ASP.NET MVC 5基础(6讲) 第一讲-初识ASP.NET MVC并搭建整合开发环境 第二讲-深入MVC开发模式 第三讲- ...
- 响应式框架Bootstrap
概念:Bootstrap将会根据你的屏幕的大小来调整HTML元素的大小 -- 强调 响应式设计的概念. 通过响应式设计,你无需再为你的网站设计一个手机版的.它在任何尺寸的屏幕上看起来都会不错. Boo ...
- 响应式及Bootstrap
一丶CSS3的@media 查询 使用 @media 查询,你可以针对不同的屏幕大小定义不同的样式. @media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@med ...
- fcc 响应式框架Bootstrap 练习2
text-primary 属性值使标题直接变成了红色,text-center使标题直接居中 <h2 class="text-primary text-center"> ...
随机推荐
- Odoo薪酬管理 公式配置
薪酬计算的一般原理是:在基本工资的基础上,加上各种津贴,减去社保.公积金.个税等各种扣除项之后,得出最终的实发工资.此外,还要计算社保.公积金等公司应该承担的部分. 在同一公司中,针对不同的地区.不同 ...
- Dart语言入门(一)
Dart 语言介绍 Dart 是谷歌在 2011 年推出的编程语言,是一种结构化 Web 编程语言,允许用户通过 Chromium 中所整合的虚拟机(Dart VM)直接运行 Dart 语言编写的程序 ...
- 原 js实现数据持久化
在写js事件时,常常遇到点击一个事件,然后在若干时间以后需要知道最近一次点击的事件的结点.比如这里: 我点击树节点1,再点击tab2,然后我再来回切换tab,假如最后一次点击tab时在tab2上,这时 ...
- QC API全系列揭秘之Test Execution操作(全网首发)
(原创文章,转载请注明出处.) 一.QC简介: Quality Center存在至今已经走过了10多个年头,名字从一开始的TD,到后来的QC,再到现在的ALM.所属公司从开始的Mercury到现在的H ...
- iBatis第二章:搭建一个简单的iBatis开发环境
使用 iBatis 框架开发的基本步骤如下:1.新建项目(iBatis是持久层框架,可以运用到java工程或者web工程都可以) 这里我们建立一个 web 工程测试. 2.导入相应的框架 jar 包 ...
- 【视频】设计模式(Java)视频讲解
设计模式(JAVA) 视频网址: http://www.qghkt.com/ 设计模式(JAVA)视频地址: https://ke.qq.com/course/318643?tuin=a508ea62 ...
- emacs 只读打开文件
emacs 只读打开文件 : C-x C-r emacs 让buffer区变成只读 : C-x C-q emacs 让只读buffer区变成可以保存修改 : C-x C-q
- Swift中的for循环基本使用
OC中的for循环写法: ;i < ;i++) { NSLog(@"i=%zd",i); } Swift中的for循环写法: let a = ; ..< a { pri ...
- selenium之表格的定位
浏览器网页常常会包含各类表格,自动化测试工程师可能会经常操作表格中的行,列以及某些特定的单元格,因此熟练掌握表格的定位方法是自动化测试实施过程中必要的技能. 被测试网页的HTML代码 <!DOC ...
- Node.js如何执行cmd
最近正好因业务的一个需求需要研究如何根据vscode的插件名来下载对应的插件以解决之前将插件打包上传到服务器上面导致的延迟问题(插件体积小还好说,如果体积过大,即便是压缩打成zip包,如果同一时刻很多 ...