0
votes

Pourquoi deux déclarations ne fonctionnent pas dans une seule fonction?

Travailler sur une fonction qui vérifie si un utilisateur est connecté ou out. Si connecté, Connexion BOX IN STRORT> est supprimé et Déconnectez-vous Strong> Bouton Affichages. Si l'état actuel est déconnecté, alors Connexion Strard> est affiché et Déconnexion STRY> est supprimé.

Il est en cours d'exécution dans deux fonctions différentes Logningin (); code> et enregistré (); code>. Chaque fonction est construite avec des opérateurs ternaires. P>

Y a-t-il un moyen de les combiner dans une seule fonction qui vérifie toutes les conditions? Comme enregistréCheck (); code> donc je n'ai pas deux fonctions différentes en cours d'exécution. P>

Juste cherchant à être plus efficace et pas sur-coeur des choses. p>

p>

<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>


1 commentaires

Peu probable parce que les deux conditions sont les mêmes.


4 Réponses :


1
votes

Vous pouvez les combiner dans une seule fonction et utiliser un ternaire pour chacun.

Deux suggestions: p>

  • Utilisez window.onload code> au lieu de code> Pour supprimer votre JavaScript de la section HTML (séparation des préoccupations) LI>
  • Utilisez Document.GetElementByID () Code> pour aller chercher les éléments, au lieu de compter sur Variables globales . Li> ul>

    p>

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css">
    <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>


0 commentaires

2
votes

Il est plus simple de faire:

sans besoins de fort>:
- Fonction surcharger
- Bad Global Var = isloggedin em> p>

p>

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


0 commentaires

1
votes

J'ai ajusté légèrement votre approche pour utiliser un seul bouton et modifier son texte textContent code> de manière appropriée:

p>

<button>Log In</button>


0 commentaires

1
votes

Vous pouvez utiliser une seule fonction comme celle-ci

​​ p>

<body onload="handleLogin();">
  <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>


0 commentaires