我有一个包含注册向导的div
,我需要在点击按钮时隐藏/显示此div
。
我怎么能这样做?
下面我将向您展示代码。
谢谢:)
<div id="wizard" class="swMain">
<ul>
<li><a href="#step-1">
<label class="stepNumber">1</label>
</a></li>
<li><a href="#step-2">
<label class="stepNumber">2</label>
</a></li>
<li><a href="#step-3">
<label class="stepNumber">3</label>
</a></li>
<li><a href="#step-4">
<label class="stepNumber">4</label>
</a></li>
</ul>
<div id="step-1">
<h2 class="StepTitle">Perfil</h2>
<table cellspacing="3" cellpadding="3" align="center">
<tr>
<td align="center" colspan="3"> </td>
</tr>
<tr>
<td align="right">Username :</td>
<td align="left">
<input type="text" id="username" name="username" value="" class="txtBox">
</td>
<td align="left"><span id="msg_username"></span> </td>
</tr>
<tr>
<td align="right">Password :</td>
<td align="left">
<input type="password" id="password" name="password" value="" class="txtBox">
</td>
<td align="left"><span id="msg_password"></span> </td>
</tr>
</table>
</div>
答案 0 :(得分:48)
使用JQuery。您需要在按钮上设置单击事件,以切换向导div的可见性。
$('#btn').click(function() {
$('#wizard').toggle();
});
有关详细信息,请参阅JQuery网站。
这也可以在没有JQuery的情况下完成。仅使用标准JavaScript:
<script type="text/javascript">
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
</script>
然后将onclick="toggle_visibility('id_of_element_to_toggle');"
添加到用于显示和隐藏div的按钮。
答案 1 :(得分:16)
这有效:
function showhide(id) {
var e = document.getElementById(id);
e.style.display = (e.style.display == 'block') ? 'none' : 'block';
}
<!DOCTYPE html>
<html>
<body>
<a href="javascript:showhide('uniquename')">
Click to show/hide.
</a>
<div id="uniquename" style="display:none;">
<p>Content goes here.</p>
</div>
</body>
</html>
答案 2 :(得分:6)
仅使用HTML / CSS无法完成此操作。你需要在这里使用javascript。在jQuery中它将是:
$('#button').click(function(e){
e.preventDefault(); //to prevent standard click event
$('#wizard').toggle();
});
答案 3 :(得分:4)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Show and hide div with JavaScript</title>
<script>
var button_beg = '<button id="button" onclick="showhide()">', button_end = '</button>';
var show_button = 'Show', hide_button = 'Hide';
function showhide() {
var div = document.getElementById( "hide_show" );
var showhide = document.getElementById( "showhide" );
if ( div.style.display !== "none" ) {
div.style.display = "none";
button = show_button;
showhide.innerHTML = button_beg + button + button_end;
} else {
div.style.display = "block";
button = hide_button;
showhide.innerHTML = button_beg + button + button_end;
}
}
function setup_button( status ) {
if ( status == 'show' ) {
button = hide_button;
} else {
button = show_button;
}
var showhide = document.getElementById( "showhide" );
showhide.innerHTML = button_beg + button + button_end;
}
window.onload = function () {
setup_button( 'hide' );
showhide(); // if setup_button is set to 'show' comment this line
}
</script>
</head>
<body>
<div id="showhide"></div>
<div id="hide_show">
<p>This div will be show and hide on button click</p>
</div>
</body>
</html>
答案 4 :(得分:2)
$('#btn').click(function() {
$('#wizard').toggle();
});
如果您想隐藏div
,则应添加style="display:none;"
,如下所示:
<div style="display:none;"> </div>
答案 5 :(得分:2)
以下解决方案是:
getElementById
在一开始就被调用一次。这可能适合您的目的,也可能不适合。
mydiv = document.getElementById("showmehideme");
function showhide(d) {
d.style.display = (d.style.display !== "none") ? "none" : "block";
}
#mydiv { background-color: #ddd; }
<button id="button" onclick="showhide(mydiv)">Show/Hide</button>
<div id="showmehideme">
This div will show and hide on button click.
</div>
答案 6 :(得分:1)
任务可以在没有jQuery等的情况下制作简单的javascript。
<script type="text/javascript">
function showhide() {
document.getElementById("wizard").className = (document.getElementById("wizard").className=="swMain") ? swHide : swMain;
}
</script>
如果向导具有类 swMain 并将类更改为 swHide ,则该函数很简单,如果它是,则该函数是不是 swMain 然后更改为 swMain 。此代码不支持多个类属性,但在这种情况下它就足够了。
现在你必须制作名为 swHide 的css类 display:none
然后添加按钮 onclick =&#34; showhide()&#34;
这很容易。
答案 7 :(得分:1)
你可以用html和css完全做到这一点,我有。
<强> HTML 强>
首先,您要为想要隐藏ID
的div设置#view_element
以及像#hide_element
这样的目标类。如果您希望同时制作这两个课程,但我不知道您是否可以同时制作这两个课程。然后让你的Show按钮定位你的show id,你的Hide按钮定位你的hide类。这就是html隐藏和显示在CSS中完成的。
<强> CSS 强> 显示和隐藏它的CSS应该看起来像这样
#hide_element:target {
display:none;
}
.show_element:target{
display:block;
}
这应该允许您随意隐藏和显示元素。这应该适用于跨度和div。
答案 8 :(得分:0)
您可以通过将可见性设置为隐藏或显示为无的类,然后通过 JavaScript 在您希望的元素上切换该类来实现。
const para = document.querySelector("div");
const btn = document.querySelector('button');
btn.addEventListener('click', ()=>{
para.classList.toggle('visibility-toggle')
})
.visibility-toggle{
visibility: hidden;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button>Show/Hide</button>
<div>
<h2>Heading</h2>
<p>Click the button above me to hide me.</p>
</div>
</body>
</html>