如何使用增量 + 选项(或可见性)在 JavaScript 上实现可见性
how to implement visibility on javascript with incremental + option (or visibility)
我想要在我的脚本中有一个增量 + 选项,例如一个接一个的扩展。
假设在单击选项配置 + 后,网络配置将使用另一个 + 选项展开,现在如果我想要另一个输入,我将单击 + 并且邻居配置将被展开。
请不要帮我,我是javascript的新手,提前感谢。
<html>
<h>OPSF Configuration</h>
</br>
<head>
<script type="text/javascript">
function defaultconf() {
var nodes = document.getElementById("d1").getElementsByTagName('*');
for(var k = 0; k < nodes.length; k++)
{
nodes[k].style.visibility ="hidden";
}
}
function options1() {
var str = arguments[0];
var nodes = document.getElementById(str).getElementsByTagName('input');
for(var i = 0; i < nodes.length; i++)
{
nodes[i].style.visibility ="hidden";
}
var nodes = document.getElementById(str).getElementsByTagName('button');
var name = document.getElementById(str).getElementsByTagName('label');
for(var i = 0; i < nodes.length; i++)
{
if (nodes[i].style.visibility == "hidden" || name[i].style.visibility == "hidden")
{
nodes[i].style.visibility ="visible";
name[i].style.visibility ="visible";
}
else
{
nodes[i].style.visibility ="hidden";
name[i].style.visibility ="hidden";
}
}
}
function options() {
var str = arguments[0];
var nodes = document.getElementById(str).getElementsByTagName('*');
for(var i = 0; i < nodes.length; i++)
{
if (nodes[i].style.visibility == "hidden")
nodes[i].style.visibility = "visible";
else
nodes[i].style.visibility ="hidden";
}
}
</script>
</head>
<link href="style.css" rel="stylesheet" type="text/css" />
<body onload="defaultconf()">
<br/>
<input type="button" value="+" onclick="options('d1')">Optiontional Configurations </td></tr>
<div id="d1">
<table>
<br/>
<tr><td>
<input type="button" value="+" onclick="options('network')">Network Config
<div id="network">
<table>
<tr>
<td class="style11" valign=top style="height: 4px">Network</td>
<td class="style9" style="height: 4px">
<input type="text" value="<?php echo $network?>" name="network" size="2" style="width: 147px">
</td>
</tr>
</table>
</div>
</td></tr>
<tr><td>
<br/>
<input type="button" value="+" onclick="options('neighbor')">Neighbor Config
<div id="neighbor">
<table>
<tr>
<td class="style11" valign=top style="height: 4px">Neighbor IP</td>
<td class="style9" style="height: 4px">
<input type="text" value="<?php echo $neighbor?>" name="neighbor" size="2" style="width: 147px">
</td>
</tr>
</table>
</div>
</td></tr>
</table>
</div>
</body>
</html>
jquery中的简单解决方案是使用.toggle()
来切换子视图。
我也更新了 DOM 结构。
j查询代码:
$(function() {
var siblingCounter = 0;
$('.sub-view').hide();
$('.main-view').on('click', function() {
var localCounter = $(this).hasClass('default') ? siblingCounter++ : 0;
$(this).siblings('.sub-view').eq(localCounter).toggle();
});
});
现场演示 @ JSFiddle
注意:
- 如果您使用的是
jQuery
库,请避免使用普通的javascript编写代码,除非您需要jQuery中不可用的东西[我个人到目前为止还没有遇到]。 - 使用
class
选择器应用通用/通用 CSS 样式,而不是创建单独的id
选择器样式。 基本上,这将防止跨多个规则集的冗余 CSS 样式
相关文章:
- JavaScript可见性不起作用('隐藏'起作用,'可见'不起作用)
- 使用 Javascript 将 HTML 页面中的默认可见性从可见更改为隐藏
- CSS 中定义的可见性值未显示在 Javascript 中
- 使用javascript的图像可见性
- Javascript - 切换可见性
- 如何在javascript中设置asp:checkbox的可见性
- onClick()JavaScript可见性更改
- 根据弹出窗口javascript的返回值更改asp.net面板的可见性
- 使用Javascript在按键时显示隐藏的可见性文本
- 使用 Javascript 更改 CSS 动画可见性
- 为什么 Javascript 函数调用在从代码隐藏更改可见性后不起作用
- css 可见性属性和 javascript setTimeout 方法出错
- Javascript:使用图标来控制部分内容的可见性
- 如何在 JavaScript 中更改图像可见性
- 使用 JavaScript 复选框事件切换 html 的可见性
- 变量在 Javascript 中的可见性
- JavaScript 函数通过发送下一个元素的整数来更改元素的可见性
- 如何使用增量 + 选项(或可见性)在 JavaScript 上实现可见性
- 样式可见性和JavaScript
- 为什么我的切换可见性javascript函数不起作用