HTML / JS Simplification
HTML / JS Simplification
我正在为客户开发下拉菜单。我认为我的代码太复杂了。我需要一种分辨率/替代方法来执行给定的目标。
<font id="l1b" size="4" color="black" style="cursor:pointer; color:black;"
onclick="showSubMenu('cat2');
document.getElementById('cat1').style.display = 'none';
document.getElementById('cat3').style.display = 'none';
document.getElementById('cat4').style.display = 'none';
document.getElementById('pa1').style.display = 'none';
document.getElementById('pb1').style.display = 'none';
document.getElementById('pc1').style.display = 'none';
document.getElementById('pd1').style.display = 'none';
document.getElementById('pa2').style.display = 'none';
document.getElementById('pb2').style.display = 'none';
document.getElementById('pc2').style.display = 'none';
document.getElementById('pd2').style.display = 'none';
document.getElementById('da2a').style.display = 'none';
document.getElementById('da2b').style.display = 'none';
document.getElementById('da2c').style.display = 'none';
document.getElementById('da2d').style.display = 'none';
document.getElementById('da2e').style.display = 'none';
document.getElementById('da2f').style.display = 'none';
document.getElementById('da2g').style.display = 'none';
document.getElementById('da2h').style.display = 'none';">Tea Bags<img src="arrow.png" style="position:relative; left:8px; top:3px;"></font>
这是概念的图片: http://robstest.mydnd.com/helppic.php
第一个帮助的人获得10分布朗尼! :D
为了说明使用像jQuery这样的库来让你的生活更轻松的好处:
纯JavaScript
var elementList = ['cat1', 'cat2', 'cat3', 'cat4', 'pa1', ... , 'da2h'];
function showSubMenu(el) {
for (var i = 0; i < elementList.length; i++) {
if (elementList[i] != el) {
document.getElementById(elementList[i]).style.display = 'none';
}
}
}
jQuery
var elementList = ['cat1', 'cat2', 'cat3', 'cat4', 'pa1', ... , 'da2h'];
function showSubMenu(el) {
$.each(elementList, function() {
if (this != el) {
$('#' + this).css({display: "none"});
}
}
}
本教程也可能有所帮助: http://www.html-5-tutorial.com/
下面是一个指向 JQuery 下拉教程的链接,该教程执行类似于您想要的操作:
http://css-tricks.com/simple-jquery-dropdowns/
。您还可以下载文件并根据需要对其进行修改。
这对您在制作项目时玩耍和学习将是一个很好的练习。
(另外,您可能想查看下拉列表的其他一些实现以了解最佳实践 - 您模拟的 UI 对于最终用户来说看起来有点混乱)
获取子元素并循环遍历它们,为每个元素设置显示。 将其填充到诸如yourfunction(parentDiv)之类的函数中,并应用于分号后的单击事件。
我会输入这段代码,但现在我没有足够的材料可以使用。
使用 jQuery 做这样的事情:
$(function() {
$("#l1b").children().each(function() {
$(this).hide();
});
});
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 强制模板刷新ember.js
- 如何编写HTML输入的JS内联
- Angular JS IE9 Hashbang url rewriting
- 使用JS将数组转换为json对象
- Node.js v6.2.0类扩展不是函数错误
- 当js函数's已执行
- 要求未定义JS回调参数
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 如何从Java/scala调用js美化程序
- 如何更改<svg>标记为<img>用js标记
- 如何使用 node.js 比较两个 json 数组
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- Selectize.js:如何对整数值的选项进行排序
- HTML / JS Simplification