[英]jquery dropdown vertical menu responsive
我正在尝试构建垂直菜单,但是不确定我是否选择了正确的方式!
单击菜单应显示! 如果我单击另一个菜单,则上一个菜单应隐藏! 请检查我的演示,菜单没有关闭前一个。
演示: http : //fiddle.jshell.net/5uWh2/
JS:
var dropdown = document.querySelectorAll('.dropdown');
var dropdownArray = Array.prototype.slice.call(dropdown,0);
dropdownArray.forEach(function(el){
var button = el.querySelector('a[data-toggle="dropdown-text"]'),
menu = el.querySelector('.dropdown-content');
button.onclick = function(event) {
if(!menu.hasClass('show')) {
menu.classList.add('show');
menu.classList.remove('hide');
event.preventDefault();
}
else {
menu.classList.remove('show');
menu.classList.add('hide');
event.preventDefault();
}
};
})
Element.prototype.hasClass = function(className) {
return this.className && new RegExp("(^|\\s)" + className + "(\\s|$)").test(this.className);
};
您可以通过以下方式实现
$( "#menu a" ).click(function() {
$menu = $(this).parent().find('ul');
$('#menu').find('ul').not($menu).removeClass('show');
$menu.toggleClass('show');
});
jQuery(document).ready(function() {
jQuery('#menu > li > a').click(function(){
if(jQuery(this).next('.dropdown-content').length>0){
jQuery('.dropdown-content').slideUp();
if(jQuery(this).next('.dropdown-content:visible').size()){
jQuery('.dropdown-content').slideUp();
} else {
jQuery(this).next('.dropdown-content').slideDown();
}
return false;
}
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.