1 fonction fait 2 actions

Résolu/Fermé
delaville81 Messages postés 188 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 12 avril 2024 - 10 août 2017 à 18:34
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 11 août 2017 à 16:22
Chers confrères,
je sollicite votre aide car mes connaissances en JS sont pas géniales.
J'ai deux fonctions pour afficher des div la 1er form et la suivante billing. Je souhaite que quand je clique sur mon bouton pour afficher la div form la div billing ne s'ouvre pas. qu'elle ne s'ouvre seulement avec le bouton présent sur ma div form.
//affichage de la div form
$(document).ready(function(){
    $(document).on('click', function(){
         if($(this)[0].activeElement.id == "aff"){
             $("#form").css("display", "none");
         }
         else{
             $("#form").css("display", "block");
         }
    }); 
});

//affichage de la div billing
$(document).ready(function(){
    $(document).on('click', function(){
         if($(this)[0].activeElement.id == "check"){
             $("#billing").css("display", "none");
         }
         else{
             $("#billing").css("display", "block");
         }
    }); 
});


un peu d'HTML
<!-- sur la div pour ouvrir form -->
<button id="aff" class="button_lien">Next</button>

<!-- sur la div form pour ouvrir billing -->
<button id="check" class="button_lien">Next</button>


Le CSS existe bien

Merci de votre aide




A voir également:

4 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
10 août 2017 à 20:14
Bonjour,

Il suffit d'appliquer les fonctions aux éléments voulus plutôt que de faire un mic mac via le document.click....

par exemple :

$("#aff").click(function(){
  $("#form").css("display", "block");
});

$("#check").click(function(){
  $("#billing").css("display", "block");
});


et si tu veux masquer la seconde div en même temps que tu en affiches une :
$("#aff").click(function(){
  $("#form").css("display", "block");
  $("#billing").css("display", "none");
});

$("#check").click(function(){
  $("#billing").css("display", "block");
  $("#form").css("display", "none");
});

0
delaville81 Messages postés 188 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 12 avril 2024
11 août 2017 à 11:39
Cher Jordane45,
Merci de ta réponse.
J'ai fait comme tu m'as indiqué mais ça ne fonctionne pas.
Quel est le souci ?

Tes conseils sont les bienvenus
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 août 2017 à 12:36
Me dire que ça ne fonctionne pas .. sans autre indication.. ne va pas vraiment nous aider à comprendre le souci. :-)
Déjà... n'as tu pas de messages d'erreur dans la CONSOLE de ton navigateur ?
A vérifier également lorsque tu "cliques" sur un de tes boutons.

Faudrait aussi nous montrer à quel endroit tu as placé ton code javascript. (de préférence ... juste avant la balise </body> de ta page dans des balises script bien entendu....


NB: Pour la "console" ... si tu ne sais pas comment t'en servir.. commence par te documenter dessus sur internet. En général.. la console est accessible par la toucche F12 de ton navigateur ou via les menu "outils".
De plus, tu peux nous en coller une capture écran sur le forum histoire qu'on puisse voir par nous même les éventuels erreurs. : https://www.commentcamarche.net/infos/25913-ccm-inserer-une-image-dans-une-discussion/

0
delaville81 Messages postés 188 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 12 avril 2024
11 août 2017 à 15:16
Jordane45,
J'ai trouvé,
entourant de

$(function() {


});


ça marche

De plus je cherche autre chose. Le moyen d'afficher sur le clique de mes boutons une div pendant 5 secondes, qui disparait ensuite et est remplacée par une autre. Je ne sais pas comment procéder.
Merci de ton aide
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 11 août 2017 à 16:22
Nouvelle question = ouverture nouvelle discussion

Pense à mettre celle ci en resolue. Merci
0