Javascript Show Hide-将切换操作从复选框更改为<a href>链接
Javascript Show Hide - Changing toggle action from Checkbox to <a href> links
目前我有一种基于表单复选框字段显示/隐藏div的方法,如下所示。然而,我想要的是不要使用表单来显示隐藏,而只是基于简单的链接调用显示/隐藏函数。我希望这对我的努力有意义。任何帮助/建议都将受到重视!
<!-- Show hide-->
<script language="JavaScript">
function showhidefield()
{
if (document.goform.areas.checked)
{
document.getElementById("areaone").style.display = "block";
document.getElementById("areatwo").style.display = "none";
}
else
{
document.getElementById("areaone").style.display = "none";
document.getElementById("areatwo").style.display = "block";
}
}
</script>
<form name="goform" id="goform" action="xxxx" method="post" enctype="multipart/form-data">
<label><input name="areas" type="checkbox" onclick="showhidefield()" value="1"> Yes </label>
</form>
<div id="areaone" style="display:none;">
Area One
</div><!-- / Hideable area -->
<div id="areatwo" style="display:block;">
Area two
</div>
更改以上内容,使其不使用表单复选框来显示隐藏,而是基于事件(例如)产生切换效果
<a href="xxx">Show Areaone / Hide Areatwo</a>
<a href="xxx">Show Areatwo / Hide Areaone</a>
通用方法
一般的方法是使用链接标签的onclick
属性。你可以直接在标签上这样设置:
<a onclick="showhidefield()" href="javascript:void(0);">Show/Hide</a>
示例1
下面是一个完整的工作示例:
<!DOCTYPE html>
<html>
<head></head>
<body>
<div id="areaone" style="display:none;">
Area one
</div>
<div id="areatwo" style="display:block;">
Area two
</div>
<script type='text/javascript'>
function showOneHideTwo(){
document.getElementById("areaone").style.display = "block";
document.getElementById("areatwo").style.display = "none";
}
function showTwoHideOne(){
document.getElementById("areaone").style.display = "none";
document.getElementById("areatwo").style.display = "block";
}
</script>
<a onclick="showOneHideTwo()" href="javascript:void(0);">Show one / Hide two</a>
<a onclick="showTwoHideOne()" href="javascript:void(0);">Show two / Hide one</a>
</body>
</html>
示例2(更好!)
然而,由于各种原因,最好使用javascript来设置onclick
属性,而不是直接将其添加到html中,尽管这稍微不那么直观。这里有一个更好的完整工作示例:
<!DOCTYPE html>
<html>
<head></head>
<body>
<div id="areaone" style="display:none;">
Area one
</div>
<div id="areatwo" style="display:block;">
Area two
</div>
<a id='showOneLink' href=''>Show one / Hide two</a>
<a id='showTwoLink' href=''>Show two / Hide one</a>
<script type='text/javascript'> <!-- This allows for better placement of the script as well... -->
//Same functions as before
function showOneHideTwo(){
document.getElementById("areaone").style.display = "block";
document.getElementById("areatwo").style.display = "none";
}
function showTwoHideOne(){
document.getElementById("areaone").style.display = "none";
document.getElementById("areatwo").style.display = "block";
}
//this time, we set the onclick here
//this is better form- it keeps the content (html) and the scripting (javascript) seperate
document.getElementById("showOneLink").onclick = function(){showOneHideTwo(); return false;}
document.getElementById("showTwoLink").onclick = function(){showTwoHideOne(); return false;}
</script>
</body>
</html>
相关文章:
- 链接所有<a>Meteor
- 如何制作href链接和<李>在一个包装中
- <中的链接;选择>下拉选项
- Javascript Show Hide-将切换操作从复选框更改为<a href>链接
- 通过<a>链接
- 使用类似汤博乐的<a>链接
- 链接问题:下一个字符包含在<a>TinyMce ui TinyMce中的标签
- 当单击<a>链接在chrome扩展中,popup.html如何保持打开状态
- 删除所有<link>iframe中的元素
- React路由器<link>如何在Jest测试中获取href的值
- 从<link>标签
- Regex从除<link>标签
- 如何更改CSS文件或隐藏<link>标签
- 是否可以使用HTML从任意字符串创建Jquery对象,例如var$newlink=$('<a>新链接
- Regex查找<a>包含指向特定文件类型的链接的标记
- 根据关联链接更改标题的颜色?每次点击<a>应该使关联的h2变成蓝色
- 是<链接rel=“;样式表“>并且<脚本>标签意义重大
- 有没有一种方法可以包括<脚本>或者<link>在所有页面中显示一次
- 防止<a>按ENTER键时无法打开链接
- 用于转换<李>行转换为搜索链接