jQ响应式菜单插件FlexNav js代码

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

以下是 jQ响应式菜单插件FlexNav js代码 的示例演示效果:

当前平台(PC电脑)
  • 平台:

部分效果截图:

jQ响应式菜单插件FlexNav js代码

HTML代码(index.html):

<!DOCTYPE html><!--[if IE 7]>
<html lang="en" class="ie7 oldie"></html><![endif]--><!--[if IE 8]>
<html lang="en" class="ie8 oldie"></html><![endif]-->
<!-- [if gt IE 8] <!-->
<html lang="en">
  <!-- <![endif]-->
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>jQuery响应式菜单插件FlexNav</title>
    <link href="css/flexnav.css" media="screen, projection" rel="stylesheet" type="text/css">
    <link href="css/page.css" media="screen, projection" rel="stylesheet" type="text/css">
    <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
  </head>
  <body class="home-page">
    <div class="container">
      <header id="site-header">
        <hgroup class="site-title">
          <h1>FlexNav</h1>
          <h2 class="site-title-sub">jQuery响应式菜单插件FlexNav</h2>
        </hgroup>
        <div class="menu-button">Menu</div>
        <nav>
          <ul data-breakpoint="800" class="flexnav">
            <li><a href="">Item 1</a>
              <ul>
                <li> <a href="#content">Sub 1 Item 1</a></li>
                <li><a href="">Sub 1 Item 2</a></li>
                <li><a href="">Sub 1 Item 3</a></li>
                <li><a href="">Sub 1 Item 4</a></li>
              </ul>
            </li>
            <li><a href="">Item 2</a>
              <ul>
                <li><a href="">Sub 1 Item 1</a></li>
                <li><a href="">Sub 1 Item 2</a>
                  <ul>
                    <li><a href="">Sub 2 Item 1</a></li>
                    <li><a href="">Sub 2 Item 2</a></li>
                    <li><a href="">Sub 2 Item 3</a></li>
                  </ul>
                </li>
                <li><a href="">Sub 1 Item 3</a>
                  <ul>
                    <li><a href="">Sub 2 Item 1</a></li>
                    <li><a href="">Sub 2 Item 2</a>
                      <ul>
                        <li><a href="">Sub 3 Item 1</a></li>
                        <li><a href="">Sub 3 Item 2</a></li>
                        <li><a href="">Sub 3 Item 3</a></li>
                      </ul>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
            <li><a href="">Item 3</a>
              <ul>
                <li><a href="">Sub 1 Item 1</a></li>
                <li><a href="">Sub 1 Item 2</a></li>
                <li><a href="">Sub 1 Item 3</a></li>
              </ul>
            </li>
            <li><a href="">Item 4</a>
              <ul>
                <li><a href="">Sub 1 Item 1</a></li>
                <li><a href="">Sub 1 Item 2</a></li>
                <li><a href="">Sub 1 Item 3</a></li>
              </ul>
            </li>
            <li><a href="">Item 5</a>
              <ul>
                <li><a href="">Sub 1 Item 1</a></li>
                <li><a href="">Sub 1 Item 2</a></li>
                <li><a href="">Sub 1 Item 3</a></li>
              </ul>
            </li>
          </ul>
        </nav>
      </header>

    </div>
    <script src="js/jquery-1.9.1.js" type="text/javascript"></script>
    <script src="js/jquery.flexnav.min.js" type="text/javascript"></script>
    <script type="text/javascript">$(".flexnav").flexNav();</script>
  </body>
</html>

JS代码(jquery.flexnav.min.js):

// Generated by CoffeeScript 1.6.1/*FlexNav.js 0.7Copyright 2013,Jason Weaver http://jasonweaver.nameReleased under the WTFPL licensehttp://sam.zoy.org/wtfpl///*/
(function(){
	$.fn.flexNav=function(e){
	var t,n,r,i,s,o;
	o=$.extend({
	animationSpeed:100}
,e);
	t=$(this);
	i=!1;
	r=!1;
	t.find("li").each(function(){
	if($(this).has("ul").length)return $(this).addClass("item-with-ul").find("ul").hide()}
);
	t.data("breakpoint")&&(n=t.data("breakpoint"));
	s=function(){
	if($(window).width()<=n){
	t.removeClass("lg-screen").addClass("sm-screen");
	$(".one-page li a").on("click",function(){
	return t.removeClass("show")}
);
	return $(".item-with-ul").off()}
t.removeClass("sm-screen").addClass("lg-screen");
	t.removeClass("show");
	return $(".item-with-ul").on("mouseenter",function(){
	return $(this).find(">ul").addClass("show").stop(!0,!0).slideDown(o.animationSpeed)}
).on("mouseleave",function(){
	return $(this).find(">ul").removeClass("show").stop(!0,!0).slideUp(o.animationSpeed)}
)}
;
	$(".item-with-ul,.menu-button").append('<span class="touch-button"><i class="navicon">&#9660;
	</i></span>');
	$(".menu-button,.menu-button .touch-button").on("touchstart mousedown",function(e){
	e.preventDefault();
	e.stopPropagation();
	console.log(r);
	return $(this).on("touchmove mousemove",function(e){
	var t;
	t=e.pageX;
	r=!0;
	return $(window).off("touchmove mousemove")}
)}
).on("touchend mouseup",function(e){
	var n;
	e.preventDefault();
	e.stopPropagation();
	r=!1;
	n=$(this).parent();
	r===!1&&console.log("clicked");
	if(i===!1){
	t.addClass("show");
	return i=!0}
if(i===!0){
	t.removeClass("show");
	return i=!1}
}
);
	$(".touch-button").on("touchstart mousedown",function(e){
	e.stopPropagation();
	e.preventDefault();
	return $(this).on("touchmove mousemove",function(e){
	r=!0;
	return $(window).off("touchmove mousemove")}
)}
).on("touchend mouseup",function(e){
	var n;
	e.preventDefault();
	e.stopPropagation();
	n=$(this).parent(".item-with-ul").find(">ul");
	t.hasClass("lg-screen")===!0&&$(this).parent(".item-with-ul").siblings().find("ul.show").removeClass("show").hide();
	if(n.hasClass("show")===!0)return n.removeClass("show").slideUp(o.animationSpeed);
	if(n.hasClass("show")===!1)return n.addClass("show").slideDown(o.animationSpeed)}
);
	$(".item-with-ul *").focus(function(){
	$(this).parent(".item-with-ul").parent().find(".open").not(this).removeClass("open").hide();
	return $(this).parent(".item-with-ul").find(">ul").addClass("open").show()}
);
	s();
	return $(window).on("resize",s)}
}
).call(this);
	

CSS代码(flexnav.css):

/* Flexnav Base Styles */
/* line 17,../../../../../Applications/CodeKit.app/Contents/Resources/engines/compass/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline;}
/* line 22,../../../../../Applications/CodeKit.app/Contents/Resources/engines/compass/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
html{line-height:1;}
/* line 24,../../../../../Applications/CodeKit.app/Contents/Resources/engines/compass/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
ol,ul{list-style:none;}
/* line 26,../../../../../Applications/CodeKit.app/Contents/Resources/engines/compass/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
table{border-collapse:collapse;border-spacing:0;}
/* line 28,../../../../../Applications/CodeKit.app/Contents/Resources/engines/compass/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
caption,th,td{text-align:left;font-weight:normal;vertical-align:middle;}
/* line 30,../../../../../Applications/CodeKit.app/Contents/Resources/engines/compass/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
q,blockquote{quotes:none;}
/* line 103,../../../../../Applications/CodeKit.app/Contents/Resources/engines/compass/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
q:before,q:after,blockquote:before,blockquote:after{content:"";content:none;}
/* line 32,../../../../../Applications/CodeKit.app/Contents/Resources/engines/compass/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
a img{border:none;}
/* line 116,../../../../../Applications/CodeKit.app/Contents/Resources/engines/compass/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block;}
/* Globals */
/* line 26,../sass/flexnav.scss */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font:inherit;vertical-align:baseline;}
/* line 30,../sass/flexnav.scss */
.flexnav{*zoom:1;-webkit-transition:0;-moz-transition:0;-o-transition:0;transition:0;-webkit-transform-style:preserve-3d;overflow:hidden;margin:0 auto;width:100%;max-height:0;}
/* line 38,../../../../../Applications/CodeKit.app/Contents/Resources/engines/compass/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.scss */
.flexnav:after{content:"";display:table;clear:both;}
/* line 39,../sass/flexnav.scss */
.flexnav.show{max-height:2000px;-webkit-transition:1s;-moz-transition:1s;-o-transition:1s;transition:1s;}
/* line 43,../sass/flexnav.scss */
.flexnav.one-page{position:fixed;top:50px;right:5%;max-width:200px;}
/* line 50,../sass/flexnav.scss */
.flexnav li{font-size:100%;position:relative;overflow:hidden;}
/* line 55,../sass/flexnav.scss */
.flexnav li a{position:relative;display:block;padding:.96em;z-index:2;overflow:hidden;color:#222222;background:#a6a6a2;border-bottom:1px solid rgba(0,0,0,0.15);}
/* line 65,../sass/flexnav.scss */
.flexnav li ul{width:100%;}
/* line 68,../sass/flexnav.scss */
.flexnav li ul li{font-size:100%;position:relative;overflow:hidden;}
/* line 76,../sass/flexnav.scss */
.flexnav li ul.show li{overflow:visible;}
/* line 81,../sass/flexnav.scss */
.flexnav li ul li a{display:block;background:#b2b2af;}
/* line 85,../sass/flexnav.scss */
.flexnav ul li ul li a{background:#bfbfbc;}
/* line 88,../sass/flexnav.scss */
.flexnav ul li ul li ul li a{background:#cbcbc9;}
/* line 91,../sass/flexnav.scss */
.flexnav .touch-button{position:absolute;z-index:999;top:0;right:0;width:50px;height:50px;display:inline-block;background:#acaca1;background:rgba(0,0,0,0.075);text-align:center;}
/* line 102,../sass/flexnav.scss */
.flexnav .touch-button:hover{cursor:pointer;}
/* line 105,../sass/flexnav.scss */
.flexnav .touch-button .navicon{position:relative;top:1.4em;font-size:12px;color:#666;}
/* line 113,../sass/flexnav.scss */
.menu-button{position:relative;display:block;padding:1em;background:#a6a6a2;color:#222222;cursor:pointer;border-bottom:1px solid rgba(0,0,0,0.2);}
/* line 122,../sass/flexnav.scss */
.menu-button.one-page{position:fixed;top:0;right:5%;padding-right:45px;}
/* line 129,../sass/flexnav.scss */
.menu-button .touch-button{background:transparent;position:absolute;z-index:999;top:0;right:0;width:50px;height:50px;display:inline-block;text-align:center;}
/* line 140,../sass/flexnav.scss */
.menu-button .touch-button .navicon{font-size:16px;position:relative;top:1em;color:#666;}
@media all and (min-width:800px){/* line 150,../sass/flexnav.scss */
 body.one-page{padding-top:70px;}
/* line 153,../sass/flexnav.scss */
 .flexnav{overflow:visible;}
/* line 156,../sass/flexnav.scss */
 .flexnav.one-page{top:0;right:auto;max-width:1080px;}
/* line 161,../sass/flexnav.scss */
 .flexnav li{position:relative;list-style:none;float:left;display:block;background-color:#a6a6a2;width:20%;overflow:visible;}
/* line 170,../sass/flexnav.scss */
 .flexnav li a{border-left:1px solid #acaca1;border-bottom:none;}
/* line 174,../sass/flexnav.scss */
 .flexnav li > ul{position:absolute;top:auto;left:0;display:block;}
/* line 180,../sass/flexnav.scss */
 .flexnav li > ul li{width:100%;}
/* line 184,../sass/flexnav.scss */
 .flexnav li ul li > ul{margin-left:100%;top:0;}
/* line 191,../sass/flexnav.scss */
 .flexnav li ul li a{border-bottom:none;}
/* line 194,../sass/flexnav.scss */
 .flexnav li ul.open{display:block;opacity:1;visibility:visible;z-index:1;}
/* line 200,../sass/flexnav.scss */
 .flexnav li ul.open li{overflow:visible;max-height:100px;}
/* line 204,../sass/flexnav.scss */
 .flexnav li ul.open ul.open{margin-left:100%;top:0;}
/* line 210,../sass/flexnav.scss */
 .menu-button{display:none;}
}
/* line 216,../sass/flexnav.scss */
.oldie body.one-page{padding-top:70px;}
/* line 219,../sass/flexnav.scss */
.oldie .flexnav{overflow:visible;}
/* line 222,../sass/flexnav.scss */
.oldie .flexnav.one-page{top:0;right:auto;max-width:1080px;}
/* line 227,../sass/flexnav.scss */
.oldie .flexnav li{position:relative;list-style:none;float:left;display:block;background-color:#a6a6a2;width:20%;min-height:50px;}
/* line 236,../sass/flexnav.scss */
.oldie .flexnav li:hover > ul{visibility:visible;opacity:1;height:auto;display:block;position:absolute;}
/* line 243,../sass/flexnav.scss */
.oldie .flexnav li:hover > ul li{width:100%;float:none;}
/* line 248,../sass/flexnav.scss */
.oldie .flexnav li a{border-left:1px solid #acaca1;border-bottom:none;}
/* line 252,../sass/flexnav.scss */
.oldie .flexnav li > ul{position:absolute;top:auto;left:0;opacity:0;visibility:hidden;height:1px;z-index:1;}
/* line 261,../sass/flexnav.scss */
.oldie .flexnav li ul li ul{top:0;}
/* line 264,../sass/flexnav.scss */
.oldie .flexnav li ul li a{border-bottom:none;}
/* line 267,../sass/flexnav.scss */
.oldie .flexnav li ul.open{display:block;opacity:1;visibility:visible;height:auto;}
/* line 273,../sass/flexnav.scss */
.oldie .flexnav li ul.open ul.open{margin-left:100%;top:0;}
/* line 278,../sass/flexnav.scss */
.oldie .flexnav ul li:hover ul{margin-left:100%;top:0;}
/* line 283,../sass/flexnav.scss */
.oldie .menu-button{display:none;}
/* line 286,../sass/flexnav.scss */
.oldie.ie7 .flexnav li{width:19.9%;}

CSS代码(page.css):

/* line 4,../sass/page.scss */
body{background:#eaebe7;border-top:5px solid #3a3261;color:#333;font-family:"dejarip-1","dejarip-2","Helvetica Neue",Arial,clean,sans-serif;background:url("http://jasonweaver.name/img/textured-background2.png") -10% -16px;}
/* line 11,../sass/page.scss */
::selection{color:#fff;background:#3a3261;}
/* line 15,../sass/page.scss */
a{text-decoration:none;color:#548fa7;}
/* line 19,../sass/page.scss */
a:hover{text-decoration:underline;}
/* line 22,../sass/page.scss */
p{font-size:1em;margin-bottom:1em;line-height:1.5;font-weight:300;}
/* line 28,../sass/page.scss */
.img-devices{max-width:100%;margin-top:12px;}
/* line 32,../sass/page.scss */
.callout{padding:10px 30px;border-radius:5px;color:#fff;background:#548fa7;margin-top:5px;display:inline-block;}
/* line 40,../sass/page.scss */
.callout:hover{background:#437285;text-decoration:none;}
/* line 46,../sass/page.scss */
.site-title h1{font-family:"ff-dax-compact-web-pro-1","ff-dax-compact-web-pro-2";font-weight:100;font-size:1.3em;margin-top:-1px;margin-bottom:5px;padding:5px 20px;background:#3a3261;display:inline-block;border-radius:3px;color:#f1f2eb;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:2px;text-rendering:optimizeLegibility;}
/* line 62,../sass/page.scss */
.site-title h1 a{color:#f1f2eb;color:rgba(255,255,255,0.5);text-decoration:none;}
/* line 68,../sass/page.scss */
.site-title h2{font-size:1em;margin-bottom:5%;font-weight:100;}
/* line 74,../sass/page.scss */
.container{margin:-1px auto 0;max-width:1080px;padding:0 5%;}
/* line 79,../sass/page.scss */
#content{margin:7% auto;overflow:hidden;}
/* line 83,../sass/page.scss */
#content h1,#content h2{margin-bottom:.5em;}
/* line 86,../sass/page.scss */
#content h2{font-size:1.6em;color:#3a3261;}
/* line 90,../sass/page.scss */
#content ul{margin:1em;list-style-type:circle;}
/* line 94,../sass/page.scss */
#content li{font-size:1em;margin-bottom:.4em;margin-left:.75em;font-weight:300;}
/* line 101,../sass/page.scss */
.block{margin-bottom:3em;}
/* line 104,../sass/page.scss */
.article-wrap{padding:0;overflow:hidden;}
/* line 108,../sass/page.scss */
code{overflow:scroll;background:rgba(55,47,91,0.9);border:1px solid #3a3261;padding:10px;margin-top:10px;margin-bottom:2.5em;line-height:1.5;font-size:16px;display:block;color:#fff;border-radius:3px;box-shadow:inset 0 0 10px #3a3261;}
/* line 122,../sass/page.scss */
#site-footer{overflow:hidden;clear:both;background:rgba(0,0,0,0.075);border-top:1px solid rgba(0,0,0,0.1);padding:1em 0;box-shadow:inset 0 3px 3px rgba(0,0,0,0.05);width:100%;}
/* line 131,../sass/page.scss */
#site-footer .container{margin-top:0;}
/* line 135,../sass/page.scss */
#site-footer li{list-style:none;margin:1em 0;display:block;float:left;}
/* line 141,../sass/page.scss */
#site-footer li a{padding:0 0.5em;}
/* line 144,../sass/page.scss */
#section2,#section3,#section4,#section5{padding-top:80px;}
@media all and (min-width:800px){/* line 148,../sass/page.scss */
 body{font-size:100%;}
/* line 152,../sass/page.scss */
 body.home-page #site-header{background:url("http://jasonweaver.name/img/look.png") no-repeat 90% 30px;min-height:196px;}
/* line 160,../sass/page.scss */
 .site-title h1{font-size:2.25em;margin-bottom:10px;}
/* line 164,../sass/page.scss */
 .site-title h2{font-size:1.2em;margin-bottom:50px;}
/* line 170,../sass/page.scss */
 #content article:first-child{width:56%;margin-right:10%;}
/* line 174,../sass/page.scss */
 #content article:nth-child(2){width:34%;margin-right:0;}
/* line 178,../sass/page.scss */
 #content p{font-size:1.1em;}
/* line 181,../sass/page.scss */
 #content h2{font-size:1.9em;}
/* line 184,../sass/page.scss */
 #content article{width:50%;float:left;overflow:hidden;}
/* line 189,../sass/page.scss */
 #content li{font-size:1.1em;}
}
/* line 197,../sass/page.scss */
.oldie body{font-size:100%;}
/* line 201,../sass/page.scss */
.oldie body.home-page #site-header{background:url("http://jasonweaver.name/img/look.png") no-repeat 90% 30px;}
/* line 208,../sass/page.scss */
.oldie .site-title h1{font-size:2.25em;margin-bottom:10px;}
/* line 212,../sass/page.scss */
.oldie .site-title h2{font-size:1.2em;margin-bottom:50px;}
/* line 218,../sass/page.scss */
.oldie #content article:first-child{width:56%;margin-right:10%;}
/* line 222,../sass/page.scss */
.oldie #content article:nth-child(2){width:34%;margin-right:0;}
/* line 226,../sass/page.scss */
.oldie #content p{font-size:1.1em;}
/* line 229,../sass/page.scss */
.oldie #content h2{font-size:1.9em;}
/* line 232,../sass/page.scss */
.oldie #content article{width:50%;float:left;overflow:hidden;}
/* line 237,../sass/page.scss */
.oldie #content li{font-size:1.1em;}
附件:下载该文件资源,减少时间成本(增值服务)
留言
该资源可下载
File Source
.rar
78.47 KB
jquery特效9
最新结算
HTM5 Canvas实现3D飞机飞行动画特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
HTM5 Canvas实现3D飞机飞行动画特效代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery图像缩放工具插件Zoomer特效代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery图像缩放工具插件Zoomer特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
Labelauty–jQuery单选框_复选框美化插件特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
Labelauty–jQuery单选框_复选框美化插件特效代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery网页版打砖块小游戏源码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery网页版打砖块小游戏源码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章