显示和隐藏表单
Show and hide form
我有一行有一个形式。
<div class="row display_magic" id="magic">
<h1>helloworld</h1>
</div>
这就是我的风格。
.display_magic {
display: none;
}
这是我写的javascript,
<script>
function showDiv() {
document.getElementById('magic').style.display = "block";
}
</script>
这是触发该功能的按钮
<button onclick="showDiv()"> Add new request</button>
所以现在它隐藏了,当我单击按钮时它会出现,我现在需要做的就是在再次单击按钮时让它消失。它必须隐藏在开始时。
试试这个
function showDiv() {
if(document.getElementById('magic').style.display == "block")
document.getElementById('magic').style.display = "none";
else
document.getElementById('magic').style.display = "block"
}
.display_magic {
display: none;
}
<div class="row display_magic" id="magic">
<h1>helloworld</h1>
</div>
<button onclick="showDiv()"> Add new request</button>
<button onclick="toggleDiv()"> Add new request</button>
<script>
var visible = false;
function toggleDiv() {
visible ? document.getElementById('magic').style.display = "none" : document.getElementById('magic').style.display = "block";
visible = !visible;
} </script>
只需向函数添加一个条件,首先检查它是否显示,然后采取相应的行动。您可以使用三元运算符将其放在一行中:
function showDiv() {
document.getElementById('magic').style.display = document.getElementById('magic').style.display == "none"?"block":"none";
}
将 showDiv() 函数更改为:
function showDiv() {
if(document.getElementById('magic').style.display === "block"){
document.getElementById(text).style.display = 'none';}
else{document.getElementById(text).style.display = 'block';}
这样做:
<script>
var hasShow=false;
function showDiv(){
if(hasShow){
document.getElementById('magic').style.display = "none";
hasShow=false;
}else{
document.getElementById('magic').style.display = "block";
hasShow=true;
}
}
</script>
你可以像这样重写方法
function showDiv() {
if(document.getElementById('magic').style.display=='none'){
document.getElementById('magic').style.display = "block";
}else{
document.getElementById('magic').style.display = "none";
}
}
小提琴考试
var showDiv = function () {
var magic = document.getElementById('magic');
magic.style.display === "block" ? magic.style.display = "none" : magic.style.display = "block"
}
document.getElementById('btn').addEventListener('click', showDiv, false)
您的代码将受益于"切换"函数
现在情况如何:
<script>
function showDiv() {
document.getElementById('magic').style.display = "block";
}
</script>
那会怎么样:
<script>
function toggleVisibility(elementId) {
var visible = "block";
var hidden = "none";
var visibility = document.getElementById(elementId).style.display;
if(visibility == visible)
display = hidden;
else
visibility = visible;
document.getElementById(elementId).style.display = visibility;
}
function showDiv() { // maybe "toggleDiv" would be a better name for this now
toggleVisibility("magic");
}
</script>
奖励:您有一个功能来切换可见性,您可以重复使用
请使用 Jquery 切换:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("#magic").toggle();
});
});
</script>
</head>
<body>
<button> Add new request</button>
<div class="row display_magic" id="magic">
<h1>helloworld</h1>
</div>
</body>
</html>
相关文章:
- 使用javascript取消隐藏和隐藏表单中的某些元素
- 提交时隐藏RSForm表单
- 添加和删除隐藏字段数组中的值,而不提交表单
- HTML5在提交并显示所需标签后显示隐藏的表单元素
- 我的表单上的SpringWebFlow2中的每个转换都需要隐藏按钮吗
- 在提交时设置表单隐藏值
- 用第一个表单值(HTML、Javascript)填充第二个表单隐藏字段
- Javascript表单隐藏可见操作
- 可以'无法将表单隐藏在JS中
- 获取函数的表单隐藏变量
- jquery ui模式框中的表单隐藏后,键盘将不再被调用
- 获取从函数到 php 的表单隐藏变量
- 将表单隐藏字段变量从一个函数传递到另一个函数
- 在iFrame(不同域)表单隐藏字段中抓取父级引用
- 表单隐藏值不工作
- 从复选框中获取值-将其发送到表单(隐藏字段)
- HTML表单隐藏变量不显示在php
- 在提交前输入lat和lng值到表单隐藏字段
- 使用按钮 ID 更新表单隐藏字段值
- HTML表单隐藏/显示基于Div