Signaler

1 fonction fait 2 actions [Résolu]

Posez votre question delaville81 94Messages postés jeudi 6 novembre 2008Date d'inscription 14 août 2017 Dernière intervention - Dernière réponse le 11 août 2017 à 16:22 par jordane45
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 
Utile
+0
plus moins
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");
});

Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis
Utile
+0
plus moins
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

Donnez votre avis
Utile
+0
plus moins
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 18096Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 21 août 2017 Dernière intervention - 11 août 2017 à 16:22
Nouvelle question = ouverture nouvelle discussion

Pense à mettre celle ci en resolue. Merci
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !