我的问题是,隐藏功能运行得很好,但显示功能却不能。我有两个面板:一个用于注册和一个注册,我希望如果用户点击注册按钮,那么登录面板消失,注册一个出现在同一个地方,作为登录。
我有以下代码:
HTML:
function Hide() {
var x = document.getElementById("bejelentkezes");
if (x.display.style === "block") {
x.display.style = "none";
}
}
function Appear() {
var y = document.getElementById("regisztracio");
if (y.display.style === "none") {
y.display.style = "block";
}
}<div id="bejelentkezes">
<div class="card">
<h5 class="card-header">Bejelentkezés</h5>
<div class="card-body">
<form>
<div class="form-group">
<label for="exampleInputEmail1">Email cím</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Jelszó</label>
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Jelszó">
</div>
<button type="submit" class="btn btn-dark">Bejelentkezés</button>
<br>
<a href="#" class="btn reg" onclick="Hide();Appear();">Regisztráció</a>
</form>
</div>
</div>
</div>
<div id="regisztracio" style="display:none;">
<div class="card">
<h5 class="card-header">Regisztráció</h5>
<div class="card-body">
<form>
<div class="form-group">
<label for="exampleInputEmail1">Email cím</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Jelszó</label>
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Jelszó">
</div>
<button type="submit" class="btn btn-dark">Bejelentkezés</button>
<br>
<a href="#" class="btn reg" onclick="Hide()">Regisztráció</a>
</form>
</div>
</div>
</div>
发布于 2019-05-10 17:45:27
语法是
element.style.display=value不
element.display.style=value
function Hide() {
var x = document.getElementById("bejelentkezes");
if (x.style.display === "block") {
x.style.display = "none";
}
}
function Appear() {
var y = document.getElementById("regisztracio");
if (y.style.display === "none") {
y.style.display = "block";
}
}<div id="bejelentkezes">
<div class="card">
<h5 class="card-header">Bejelentkezés</h5>
<div class="card-body">
<form>
<div class="form-group">
<label for="exampleInputEmail1">Email cím</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Jelszó</label>
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Jelszó">
</div>
<button type="submit" class="btn btn-dark">Bejelentkezés</button>
<br>
<a href="#" class="btn reg" onclick="Hide();Appear();">Regisztráció</a>
</form>
</div>
</div>
</div>
<div id="regisztracio" style="display:none;">
<div class="card">
<h5 class="card-header">Regisztráció</h5>
<div class="card-body">
<form>
<div class="form-group">
<label for="exampleInputEmail1">Email cím</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Jelszó</label>
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Jelszó">
</div>
<button type="submit" class="btn btn-dark">Bejelentkezés</button>
<br>
<a href="#" class="btn reg" onclick="Hide()">Regisztráció</a>
</form>
</div>
</div>
</div>
发布于 2019-05-10 18:01:15
实现切换功能的更好方法。
window.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('.reg').forEach(function (elem) {
elem.addEventListener('click', function (e) {
var x = document.getElementById("bejelentkezes");
var y = document.getElementById("regisztracio");
if (y.style.display === "none") {
y.style.display = "block";
x.style.display = "none";
} else {
y.style.display = "none";
x.style.display = "block";
}
})
});
});<div id="bejelentkezes">
<div class="card">
<h5 class="card-header">Bejelentkezés</h5>
<div class="card-body">
<form>
<div class="form-group">
<label for="exampleInputEmail1">Email cím</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp"
placeholder="Email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Jelszó</label>
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Jelszó">
</div>
<button type="submit" class="btn btn-dark">Bejelentkezés</button>
<br>
<a href="#" class="btn reg">Regisztráció</a>
</form>
</div>
</div>
</div>
<div id="regisztracio" style="display:none;">
<div class="card">
<h5 class="card-header">Regisztráció</h5>
<div class="card-body">
<form>
<div class="form-group">
<label for="exampleInputEmail1">Email cím</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp"
placeholder="Email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Jelszó</label>
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Jelszó">
</div>
<button type="submit" class="btn btn-dark">Bejelentkezés</button>
<br>
<a href="#" class="btn reg">Regisztráció</a>
</form>
</div>
</div>
</div>
发布于 2019-05-10 18:16:45
y.display.style y.style.display(显示是样式的属性,而不是代码中的opposite).
HandleView(),它将检查面板的状态,并激活Hide()和Appear()。请看我的建议。<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!--remove comment to use jquery-->
<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>-->
<style>
</style>
</head>
<body>
<div id="bejelentkezes">
<div class="card">
<h5 class="card-header">Bejelentkezés
</h5>
<div class="card-body">
<form>
<div class="form-group">
<label for="exampleInputEmail1">Email cím
</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Jelszó
</label>
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Jelszó">
</div>
<button type="submit" class="btn btn-dark">Bejelentkezés
</button>
<br>
<a href="#" class="btn reg" onclick="HandleView()">Regisztráció
</a>
</form>
</div>
</div>
</div>
<div id="regisztracio" style="display:none;">
<div class="card">
<h5 class="card-header">Regisztráció
</h5>
<div class="card-body">
<form>
<div class="form-group">
<label for="exampleInputEmail1">Email cím
</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Jelszó
</label>
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Jelszó">
</div>
<button type="submit" class="btn btn-dark">Bejelentkezés
</button>
<br>
<a href="#" class="btn reg" onclick="HandleView()">Regisztráció
</a>
</form>
</div>
</div>
</div>
</body>
<script>
function Hide(elem) {
elem.style.display = "none";
}
function Appear(elem) {
elem.style.display = "block";
}
function HandleView()
{
var y = document.getElementById("regisztracio");
var x = document.getElementById("bejelentkezes");
if (y.style.display === "none") {
Appear(y);
Hide(x);
}
else
{
Appear(x);
Hide(y);
}
}
</script>
</html>https://stackoverflow.com/questions/56074894
复制相似问题