为什么两个if语句不能在一个函数中起作用?

贾里德·纽南(Jared Newnam)

正在使用检查用户是否已登录或注销的功能。如果已登录,登录按钮被移除并且注销按钮显示。如果当前状态被注销,然后登录显示和注销被去除。

它是在两个不同的功能,运行loggedIn();loggedOut();每个函数都使用三元运算符构建。

有没有一种方法可以将它们组合成一个可以检查所有条件的函数?loggedCheck();这样,我没有运行两个不同的功能。

只是想提高效率,而不是过度编码。

isLoggedIn = false;

function loggedIn() {
  isLoggedIn == true ? login.style.display = 'none' : login.style.display = 'block';
}

function loggedOut() {
  isLoggedIn == true ? logout.style.display = 'block' : logout.style.display = 'none';
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css">




<body onload="loggedIn(); loggedOut();">
  <div class="container py-3">
    <button class="btn btn-md btn-primary" id="login">Log In</button>
    <button class="btn btn-md btn-primary" id="logout">Log Out</button>
  </div>
</body>

乔乔先生

还有更简单的方法:

不需要
-onload函数
-错误的全局var = isLoggedIn

const LoginBlock = document.getElementById('LoginBlock')
    , bt_LogIn   = document.getElementById('login')
    , bt_LogOut  = document.getElementById('logout')
    
bt_LogIn.onclick=_=> {
  LoginBlock.classList.add('loginOff')
}

bt_LogOut.onclick=_=>  {
  LoginBlock.classList.remove('loginOff')
}
#LoginBlock > button#login { display: block; }
#LoginBlock > button#logout { display: none; }

#LoginBlock.loginOff > button#login { display: none; }
#LoginBlock.loginOff > button#logout { display: block; }
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css">

<body>
  <div class="container py-3" id="LoginBlock" >
    <button class="btn btn-md btn-primary" id="login">Log In</button>
    <button class="btn btn-md btn-primary" id="logout">Log Out</button>
  </div>
</body>

如果你需要:

  if (LoginBlock.classList.contains('loginOff')) { // instead of  your global "isLoggedIn"
     // your code
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么不能在一个函数中混合两个原语?

来自分类Dev

为什么不能在两个dom元素中追加同一个孩子?

来自分类Dev

为什么这两个路由器不能在同一个网络中工作?

来自分类Dev

为什么我的if语句不能在两个嵌套执行中确定正确的输出?

来自分类Dev

为什么一个功能起作用,但两个功能都不起作用?

来自分类Dev

为什么在两个单独的语句中给出args.add_argument而不在python中给出一个时起作用?

来自分类Dev

为什么只有这两个用于创建绣花的smilar宏中的一个起作用?

来自分类Dev

为什么一个php标记内的两个查询不起作用

来自分类Dev

为什么一个php标记内的两个查询不起作用

来自分类Dev

为什么不能在一个事务中创建和删除表两次?

来自分类Dev

为什么不能在ruby中对一个实例两次使用相同的方法?

来自分类Dev

为什么tidyverse :: map不能在一个小标题中同时使用两个列表?

来自分类Dev

为什么tidyverse :: map不能在一个小标题中同时使用两个列表?

来自分类Dev

为什么从宏获取的一个函数起作用而不能编译另一个函数?

来自分类Dev

两个DateTime:一个有效,为什么另一个不起作用?

来自分类Dev

为什么不能在Go“ init”中命名一个函数?

来自分类Dev

为什么我不能在 Chrome 中声明一个与函数体同名的 let 变量

来自分类Dev

两个几乎相同的功能。一个函数与Queue一起排队.jQuery效果对排队的函数不起作用。为什么?

来自分类Dev

为什么下一个功能在我的R Studio中不起作用

来自分类Dev

条件格式:为什么这只能在一个单元格中起作用?

来自分类Dev

为什么我不能在Postgresql中用“ with”语句捆绑两个sql命令?

来自分类Dev

为什么两个jquery函数不能在同一页面上工作?

来自分类Dev

为什么我不能在Java中为单个类定义这两个构造函数?

来自分类Dev

为什么同一个语句对C ++中的Class成员不起作用?

来自分类Dev

为什么第一个 printf 不起作用而其他两个使用相同的结构?

来自分类Dev

为什么setAttribute'false'可以在另一个按钮上起作用,而不能在Javascript上对self起作用?

来自分类Dev

为什么setAttribute'false'可以在另一个按钮上起作用,而不能在Javascript上对self起作用?

来自分类Dev

java,两个对象,一个不能在方法中解析,另一个可以

来自分类Dev

为什么我不能在 Javascript 中的同一个类函数中调用一个类函数?

Related 相关文章

  1. 1

    为什么不能在一个函数中混合两个原语?

  2. 2

    为什么不能在两个dom元素中追加同一个孩子?

  3. 3

    为什么这两个路由器不能在同一个网络中工作?

  4. 4

    为什么我的if语句不能在两个嵌套执行中确定正确的输出?

  5. 5

    为什么一个功能起作用,但两个功能都不起作用?

  6. 6

    为什么在两个单独的语句中给出args.add_argument而不在python中给出一个时起作用?

  7. 7

    为什么只有这两个用于创建绣花的smilar宏中的一个起作用?

  8. 8

    为什么一个php标记内的两个查询不起作用

  9. 9

    为什么一个php标记内的两个查询不起作用

  10. 10

    为什么不能在一个事务中创建和删除表两次?

  11. 11

    为什么不能在ruby中对一个实例两次使用相同的方法?

  12. 12

    为什么tidyverse :: map不能在一个小标题中同时使用两个列表?

  13. 13

    为什么tidyverse :: map不能在一个小标题中同时使用两个列表?

  14. 14

    为什么从宏获取的一个函数起作用而不能编译另一个函数?

  15. 15

    两个DateTime:一个有效,为什么另一个不起作用?

  16. 16

    为什么不能在Go“ init”中命名一个函数?

  17. 17

    为什么我不能在 Chrome 中声明一个与函数体同名的 let 变量

  18. 18

    两个几乎相同的功能。一个函数与Queue一起排队.jQuery效果对排队的函数不起作用。为什么?

  19. 19

    为什么下一个功能在我的R Studio中不起作用

  20. 20

    条件格式:为什么这只能在一个单元格中起作用?

  21. 21

    为什么我不能在Postgresql中用“ with”语句捆绑两个sql命令?

  22. 22

    为什么两个jquery函数不能在同一页面上工作?

  23. 23

    为什么我不能在Java中为单个类定义这两个构造函数?

  24. 24

    为什么同一个语句对C ++中的Class成员不起作用?

  25. 25

    为什么第一个 printf 不起作用而其他两个使用相同的结构?

  26. 26

    为什么setAttribute'false'可以在另一个按钮上起作用,而不能在Javascript上对self起作用?

  27. 27

    为什么setAttribute'false'可以在另一个按钮上起作用,而不能在Javascript上对self起作用?

  28. 28

    java,两个对象,一个不能在方法中解析,另一个可以

  29. 29

    为什么我不能在 Javascript 中的同一个类函数中调用一个类函数?

热门标签

归档