Javascript 如何创建循环导航菜单
我从codepen示例中复制了代码,但我的样式不受影响 : 我不知道是什么问题! 我的代码: 作用{ var button=document.getElementById'cn-button', wrapper=document.getElementById'cn-wrapper'; //单击按钮时打开和关闭菜单 var open=false; addEventListener'click',handler,false; 函数处理程序{ 如果!开门{ this.innerHTML=Close; classie.addwrapper,“开放式导航”; }否则{ this.innerHTML=菜单; “开放导航”类移除包装器; } 打开=!打开; } 函数闭包器{ “开放导航”类移除包装器; } }; /*! *classie类辅助函数 *来自邦佐https://github.com/ded/bonzo * *classie.has elem,“我的班级”->对/错 *classie.添加元素“我的新类” *classie.remove elem,“我不想要的职业” *classie.toggle元素“我的班级” */ /*jshint浏览器:true,strict:true,undef:true*/ /*全局定义:false*/ 功能窗口{ "严格使用",; //来自bonzo的类帮助器函数https://github.com/ded/bonzo 函数classRegclassName{ 返回新的RegExp^ |\\s++className+\\s+|$; } //类列表对类管理的支持 //虽然公平地说,api很糟糕,因为它不会同时接受多个类 变量hasClass、addClass、removeClass; 如果document.documentElement中有“classList”{ hasClass=functionelem,c{ 返回elem.classList.containsc; }; addClass=functionelem,c{ elem.classList.addc; }; removeClass=functionelem,c{ elem.classList.removec; }; }否则{ hasClass=functionelem,c{ 返回classRegc.testelem.className; }; addClass=functionelem,c{ 如果{ elem.className=elem.className+''+c; } }; removeClass=functionelem,c{ elem.className=elem.className.replaceclassRegc'; }; } 函数切换ClassElem,c{ var fn=hasClasselem,c?removeClass:addClass; fnelem,c; } 风险等级={ //全名 hasClass:hasClass, addClass:addClass, removeClass:removeClass, toggleClass:toggleClass, //简称 has:hasClass, add:addClass, remove:removeClass, 切换:切换类 }; //运输 如果typeof define=='function'&&define.amd{ //AMD 明确分类; }否则{ //浏览器全局 window.classie=classie; } }窗口; //EventListener |@jon| u neal |//github.com/jonathantneal/EventListener !window.addEventListener&&window.Element&&function{ 函数addToPrototypename,方法{ Window.prototype[name]=HTMLDocument.prototype[name]=Element.prototype[name]=method; } var注册表=[]; addToPrototypeaddEventListener,functiontype,listener{ var目标=此; registry.unshift{ __侦听器:functionevent{ event.currentTarget=目标; event.pageX=event.clientX+document.documentElement.scrollLeft; event.pageY=event.clientY+document.documentElement.scrollTop; event.preventDefault=函数{ event.returnValue=false }; event.relatedTarget=event.fromElement | | null; event.stopPropagation=函数{ event.cancelBubble=true }; event.relatedTarget=event.fromElement | | null; event.target=event.src元素| |目标; event.timeStamp=+新日期; listener.calltarget,事件; }, 听众:听众, 目标:目标,, 类型:类型 }; this.attachEventon+类型,注册表[0]。\u侦听器; }; addToPrototyperemoveEventListener,functiontype,listener{ 对于var index=0,length=registry.length;indexJavascript 如何创建循环导航菜单,javascript,html,css,Javascript,Html,Css,我从codepen示例中复制了代码,但我的样式不受影响 : 我不知道是什么问题! 我的代码: 作用{ var button=document.getElementById'cn-button', wrapper=document.getElementById'cn-wrapper'; //单击按钮时打开和关闭菜单 var open=false; addEventListener'click',handler,false; 函数处理程序{ 如果!开门{ this.innerHTML=Close;
不要忘记连接外部库和框架 作用{ var button=document.getElementById'cn-button', wrapper=document.getElementById'cn-wrapper'; //单击按钮时打开和关闭菜单 var open=false; addEventListener'click',handler,false; 函数处理程序{ 如果!开门{ this.innerHTML=Close; classie.addwrapper,“开放式导航”; }否则{ this.innerHTML=菜单; “开放导航”类移除包装器; } 打开=!打开; } 函数闭包器{ “开放导航”类移除包装器; } }; /*! *classie类辅助函数 *来自邦佐https://github.com/ded/bonzo * *classie.has elem,“我的班级”->对/错 *classie.添加元素“我的新类” *classie.remove elem,“我不想要的职业” *classie.toggle元素“我的班级” */ /*jshint浏览器:true,strict:true,undef:true*/ /*全局定义:false*/ 功能窗口{ "严格使用",; //来自bonzo的类帮助器函数https://github.com/ded/bonzo 函数classRegclassName{ 返回新的RegExp^ |\\s++className+\\s+|$; } //类列表对类管理的支持 //虽然公平地说,api很糟糕,因为它不会同时接受多个类 变量hasClass、addClass、removeClass; 如果document.documentElement中有“classList”{ hasClass=functionelem,c{ 返回elem.classList.containsc; }; addClass=functionelem,c{ elem.classList.addc; }; removeClass=functionelem,c{ elem.classList.removec; }; }否则{ hasClass=functionelem,c{ 返回classRegc.testelem.className; }; addClass=functionelem,c{ 如果{ elem.className=elem.className+''+c; } }; removeClass=functionelem,c{ elem.className=elem.className.replaceclassRegc'; }; } 函数切换ClassElem,c{ var fn=hasClasselem,c?removeClass:addClass; fnelem,c; } 风险等级={ //全名 hasClass:hasClass, addClass:addClass, removeClass:removeClass, toggleClass:toggleClass, //简称 has:hasClass, add:addClass, remove:removeClass, 切换:切换类 }; //运输 如果typeof define=='function'&&define.amd{ //AMD 明确分类; }埃尔 硒{ //浏览器全局 window.classie=classie; } }窗口; //EventListener |@jon| u neal |//github.com/jonathantneal/EventListener !window.addEventListener&&window.Element&&function{ 函数addToPrototypename,方法{ Window.prototype[name]=HTMLDocument.prototype[name]=Element.prototype[name]=method; } var注册表=[]; addToPrototypeaddEventListener,functiontype,listener{ var目标=此; registry.unshift{ __侦听器:functionevent{ event.currentTarget=目标; event.pageX=event.clientX+document.documentElement.scrollLeft; event.pageY=event.clientY+document.documentElement.scrollTop; event.preventDefault=函数{ event.returnValue=false }; event.relatedTarget=event.fromElement | | null; event.stopPropagation=函数{ event.cancelBubble=true }; event.relatedTarget=event.fromElement | | null; event.target=event.src元素| |目标; event.timeStamp=+新日期; listener.calltarget,事件; }, 听众:听众, 目标:目标,, 类型:类型 }; this.attachEventon+类型,注册表[0]。\u侦听器; }; addToPrototyperemoveEventListener,functiontype,listener{ 对于var index=0,length=registry.length;index
从此类网站复制代码时,应检查是否自动添加了库。对于codepen,您可以通过每个选项卡开头的齿轮符号来完成 对于您的特殊情况,请参见“HTML的笔设置”选项卡。标题部分的Stuff中有一个库链接 我把它复制到了,效果很好 我刚加了那些台词
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js" type="text/javascript"></script>
</head>
你可能想更改标题,我认为这对谷歌来说有点误导。