Zurb基金会菜单 - 仅在大范围扩展?
问题描述:
如何才能使menuexpanded
大到只有align-center
只在介质上?Zurb基金会菜单 - 仅在大范围扩展?
大了起来:
<ul class="menu expanded">
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
</ul>
介质:
<ul class="menu align-center>
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
</ul>
我不想重复两次菜单。但我怎样才能动态地做到这一点?
答
首先我建议使用一个对象json来组织数据,并简单地使用它来生成动态的你输出html。
基于JSON JSON数据+的Javascript脚本的HTML生成器:JSON的HTML
var content_li = [{"type":"li",
"content":[{"type":"a","content":["One"],"attributes":{"href":"#"}}]
},
{"type":"li",
"content":[{"type":"a","content":["Two"],"attributes":{"href":"#"}}]
}
];
var content_ul_expanded = {"type":"ul",
"content": content_li,
"attributes":{"class":"menu expanded"}
};
var content_ul_aligned = {"type":"ul",
"content": content_li,
"attributes":{"class":"menu align-center"}
};
var json_data = [content_ul_expanded, content_ul_aligned];
//console.log(json_data);
var body = document.body;
var ul = [];
var li = [];
var a = [];
for(var i in json_data){
//console.log(json_data[i]);
ul[i] = document.createElement(json_data[i].type);
// console.log(json_data[i].attributes.class);
ul[i].className = json_data[i].attributes.class;
for(var j in json_data[i].content){
//console.log(json_data[i].content[j]);
li[j] = document.createElement(json_data[i].content[j].type);
a[j] = document.createElement(json_data[i].content[j].content[0].type);
a[j].href = json_data[i].content[j].content[0].attributes.href;
a[j].textContent = json_data[i].content[j].content[0].content[0];
li[j].appendChild(a[j]);
ul[i].appendChild(li[j]);
}
body.appendChild(ul[i]);
}
没有JavaScript的? – 2017-10-14 18:06:35
@headmax你会如何做到这一点与JS? – laukok
好的需要10分钟,我给你我们如何做出答案,我需要10-15分钟;)。 – 2017-10-14 18:54:49