html代码
首页 > web前端 > js教程 > 原生js做的手风琴效果的导航菜单_javascript技巧

原生js做的手风琴效果的导航菜单_javascript技巧

WBOY
发布: 2016-05-16 17:16:48
原创
1209 人浏览过

做好的手风琴效果如下,具体看代码:
原生js做的手风琴效果的导航菜单_javascript技巧 
html代码

复制代码 代码如下:





Accordion





level one



  • first item

  • second item

  • third item




level one



  • first item

  • second item

  • third item




level one



  • first item

  • second item

  • third item





<script> <BR>var heads = document.querySelectorAll(".first-level"); <BR>function headClick(event){ <BR>var target = EventUtil.getTarget(event); <BR>toggleDisplay(target.parentNode.querySelector("ul")); <BR>} <BR>for(var i=0;i<heads.length;i++){ <BR>EventUtil.addHandler(heads[i], "click", headClick); <BR>} <br><br>window.onunload = function (){ <BR>for(var i=0;i<heads.length;i++){ <BR>EventUtil.removeHandler(heads[i], "click", headClick); <BR>} <BR>heads = null; <BR>} <BR></script>

common.js文件
复制代码 代码如下:

var EventUtil = {
addHandler : function (element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else if (element.attachEvent) {
element.attachEvent("on" + type, handler);
} else {
element["on" + type] = handler;
}
},
removeHandler : function (element, type, handler) {
if (element.removeEventListener) {
element.removeEventListener(type, handler, false);
} else if (element.detachEvent) {
element.detachEvent("on" + type, handler);
} else {
element["on" + type] = null;
}
},
getEvent : function (event) {
return event || window.event;
},
getTarget : function (event) {
return event.target || event.srcElement;
}
}


var getStyle = function (el, style) {
if (el.currentStyle) {
style = style.replace(/\-(\w)/g, function (all, letter) {
return letter.toUpperCase();
});
var value = el.currentStyle[style];
return value;
} else {
return document.defaultView.getComputedStyle(el, null).getPropertyValue(style);
}
}


var toggleDisplay = function (element) {
var display = getStyle(element, "display");
if (display == "none") {
element.style.display = "block";
} else {
element.style.display = "none";
}
}
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板