首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript Hide()函数不运行,而Hide()函数运行

Javascript Hide()函数不运行,而Hide()函数运行
EN

Stack Overflow用户
提问于 2019-05-10 17:42:59
回答 3查看 62关注 0票数 0

我的问题是,隐藏功能运行得很好,但显示功能却不能。我有两个面板:一个用于注册和一个注册,我希望如果用户点击注册按钮,那么登录面板消失,注册一个出现在同一个地方,作为登录。

我有以下代码:

HTML:

代码语言:javascript
复制
    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";
    	}
    }
代码语言:javascript
复制
<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>

EN

回答 3

Stack Overflow用户

发布于 2019-05-10 17:45:27

语法是

代码语言:javascript
复制
element.style.display=value

代码语言:javascript
复制
element.display.style=value

代码语言:javascript
复制
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";
    	}
    }
代码语言:javascript
复制
<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>

Refer

票数 1
EN

Stack Overflow用户

发布于 2019-05-10 18:01:15

实现切换功能的更好方法。

代码语言:javascript
复制
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";
                    }
                })
            });
        });
代码语言:javascript
复制
<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>

票数 0
EN

Stack Overflow用户

发布于 2019-05-10 18:16:45

  1. 你不能获取或设置你想要的y.display.style y.style.display

(显示是样式的属性,而不是代码中的opposite).

  • based,你应该做得更简单和可维护,我会使用一个函数- HandleView(),它将检查面板的状态,并激活Hide()Appear()。请看我的建议。

LIVE DEMO

代码语言:javascript
复制
<!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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56074894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档