繁体   English   中英

按钮onclick不会更改style.div的显示

[英]Button onclick doesn't change style.display of div

我有两个div S,叫loginpendingloggedin ,而我试图来配置,这样一旦一个按钮( button )被点击, div的意志“忽悠”一个是上一个被关闭之间。

例如,在当前的状态(与loginpending的显示为blockloggedin的显示为none ),一旦按钮被点击, loginpending的显示将变得noneloggedin的显示将成为block通过函数loginUpdate ,然后根据每个div的状态通过launch调用。

但是,它不起作用-单击按钮后,按钮的状态根本不会改变。

救命!

HTML代码:

<div id="loginpending" style="display:block;">
  <a href="login.html">Signup</a>/<a href="login.html">Login</a> here!
</div>
<div id="loggedin" style="display:none;">
  Hello!
</div>
<button id="button" onclick="launch()">Hello!</button>

Javascript代码(使用Jquery):

var logincheck = 0;

function loginUpdate() {
  "use strict";
  $("#loginpending").toggle();
  $("#loggedin").toggle();
}

function launch() {
  "use strict";
  var loginpending = document.getElementById("loginpending").style.display;
  var loggedin = document.getElementById("loggedin").style.display;
  window.alert(loginpending);
  window.alert(loggedin);
  if (loginpending === "none") {
    logincheck = 0;
    loginUpdate();
  } else if (loggedin === "none") {
    logincheck = 1;
    loginUpdate();
  } else {
    logincheck = 0;
    $("#loggedin").toggle();
  }
}

现在,您的button正在submittingfrom refreshes页面以其原始状态reloads

您需要将按钮的type设置为type="button"

<button id="button" type="button" onclick="launch()">Hello!</button>

 $(document).ready(function() { $('button').on('click', function(){ $('div').toggleClass('hidden'); }) }); 
 .hidden { display: none; } 
 <!DOCTYPE html> <html> <head> </head> <body> <div id="loginpending" class=""> <a href="login.html">Signup</a>/<a href="login.html">Login</a> here! </div> <div id="loggedin" class="hidden"> Hello! </div> <button id="button" onclick="">Hello!</button> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> <script type="text/javascript" src="sample.js"></script> </body> </html> 

jQuery代码

我尝试了尽可能多地使用您的原始代码。

 var logincheck = 0; $("#button").click(function() { launch(); }); function loginUpdate() { "use strict"; $("#loginpending").toggle(); $("#loggedin").toggle(); } function launch() { "use strict"; var loginpending = $("#loginpending").is(":hidden"); var loggedin = $("#loggedin").is(":hidden"); if(loginpending) logincheck = 0; else if (loggedin) logincheck = 1 else logincheck = 0; loginUpdate(); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="loginpending" style="display:block;"> <a href="login.html">Signup</a>/<a href="login.html">Login</a> here! </div> <div id="loggedin" style="display:none;"> Hello! </div> <button id="button" type="button">Hello!</button> 

要尝试这个

 $(function() { var logincheck = 0; function loginUpdate() { "use strict"; $("#loginpending").toggle(); $("#loggedin").toggle(); } $('#button').on('click', function(){ "use strict"; if(logincheck == 0) { logincheck = 1; }else{ logincheck = 0; } loginUpdate(); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="loginpending" style="display:block;"> <a href="login.html">Signup</a>/<a href="login.html">Login</a> here! </div> <div id="loggedin" style="display:none;"> Hello! </div> <button id="button">Hello!</button> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM