1 fonction fait 2 actions

Résolu
delaville81 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 195 Date d'inscription   Statut Membre Dernière intervention  
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 195 Date d'inscription   Statut Membre Dernière intervention  
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Nouvelle question = ouverture nouvelle discussion

Pense à mettre celle ci en resolue. Merci
0