1 fonction fait 2 actions [Résolu]

delaville81 94 Messages postés jeudi 6 novembre 2008Date d'inscription 14 août 2017 Dernière intervention - 10 août 2017 à 18:34 - Dernière réponse : jordane45 19213 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention
- 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




Afficher la suite 
94Messages postés jeudi 6 novembre 2008Date d'inscription 14 août 2017 Dernière intervention

5 réponses

Répondre au sujet
jordane45 19213 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention - 10 août 2017 à 20:14
0
Utile
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");
});

Commenter la réponse de jordane45
delaville81 94 Messages postés jeudi 6 novembre 2008Date d'inscription 14 août 2017 Dernière intervention - 11 août 2017 à 11:39
0
Utile
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
Commenter la réponse de delaville81
jordane45 19213 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention - 11 août 2017 à 12:36
0
Utile
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. : http://www.commentcamarche.net/faq/2380-ccm-inserer-une-image-dans-une-discussion

Commenter la réponse de jordane45
delaville81 94 Messages postés jeudi 6 novembre 2008Date d'inscription 14 août 2017 Dernière intervention - 11 août 2017 à 15:16
0
Utile
1
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
jordane45 19213 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention - 11 août 2017 à 16:22
Nouvelle question = ouverture nouvelle discussion

Pense à mettre celle ci en resolue. Merci
Commenter la réponse de delaville81