Как я могу скрыть/показать div при нажатии кнопки?
У меня есть 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>
Ответы
Ответ 1
Использовать JQuery. Вам нужно настроить событие click на вашей кнопке, которое переключит видимость вашего 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.
Ответ 2
Это работает:
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>
Ответ 3
Это невозможно сделать только с помощью HTML/CSS. Вам нужно использовать javascript здесь. В jQuery это будет:
$('#button').click(function(e){
e.preventDefault(); //to prevent standard click event
$('#wizard').toggle();
});
Ответ 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>
Ответ 5
Задача может быть выполнена простым javascript без jQuery и т.д.
<script type="text/javascript">
function showhide() {
document.getElementById("wizard").className = (document.getElementById("wizard").className=="swMain") ? swHide : swMain;
}
</script>
Эта функция проста, если оператор, который выглядит, если мастер имеет класс swMain и сменил класс на swHide, а если он не swMain, то измените его на swMain. Этот код не поддерживает несколько атрибутов класса, но в этом случае этого достаточно.
Теперь вам нужно создать класс css с именем swHide, который имеет display: none
Затем добавьте кнопку onclick = "showhide()"
Так легко.
Ответ 6
$('#btn').click(function() {
$('#wizard').toggle();
});
если вы хотите начать с скрытого div
, вы должны добавить style="display:none;"
, например:
<div style="display:none;"> </div>
Ответ 7
Вы можете сделать это полностью с помощью html и css, и у меня есть.
HTML
Сначала вы даете div, который вы хотите скрыть ID
для таргетинга, как #view_element
, и класс для таргетинга, например #hide_element
. Вы можете, если хотите сделать оба этих класса, но я не знаю, можете ли вы сделать их оба идентификатора. Затем нажмите кнопку "Показать", чтобы указать свой идентификатор шоу, а ваша кнопка "Скрыть" предназначена для вашего класса спрятанности. То есть для html скрытие и показ выполняется в CSS.
CSS
Css, чтобы показать и скрыть это, должно выглядеть примерно так.
#hide_element:target {
display:none;
}
.show_element:target{
display:block;
}
Это позволит вам скрывать и отображать элементы по своему усмотрению. Это должно хорошо работать на пролетах и divs.
Ответ 8
Следующее решение:
- кратчайшее. Скорее похоже на здесь. Это также минимально: таблица в DIV ортогональна вашему вопросу.
- fastest:
getElementById
вызывается один раз с самого начала. Это может или не подходит для ваших целей.
- Он использует чистый JavaScript (т.е. без JQuery).
- Он использует кнопку . Ваш вкус может отличаться.
- extensible: он готов добавить больше DIV, разделяя код.
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>