Action de touche pour afficher un élément [Résolu/Fermé]

Signaler
Messages postés
55
Date d'inscription
mercredi 24 octobre 2018
Statut
Membre
Dernière intervention
22 janvier 2021
-
Messages postés
55
Date d'inscription
mercredi 24 octobre 2018
Statut
Membre
Dernière intervention
22 janvier 2021
-
Bonjour j'ai un fichier Javascript où dedans il y a
function lol() {
var Style = document.createElement('style');
var texte_Style = document.createTextNode('#NouveauID { color: blue; } body { font-family: sans-serif; } P#NouveauID { background-color: black; }');
Style.appendChild(texte_Style);
var body_Style = document.querySelector('.Style');
document.body.insertBefore(Style, body_Style);
var NouveauID_01 = document.createElement('p');
NouveauID_01.id = 'NouveauID';
var texte_NouveauID_01 = document.createTextNode('Bonjour');
NouveauID_01.appendChild(texte_NouveauID_01);
var idde01 = document.querySelector('.NouveauID_01');
document.body.insertBefore(NouveauID_01, idde01);
var NouveauID_02 = document.createElement('p');
NouveauID_02.id = 'NouveauID';
var texte_NouveauID_02 = document.createTextNode('Bonjour2');
NouveauID_02.appendChild(texte_NouveauID_02);
var idde02 = document.querySelector('.NouveauID_02');
document.body.insertBefore(NouveauID_02, idde02);
}

onkeypress = function(e){
 if(e.charCode == 48){
  console.log("Message console");
  lol()
 }
}


Ce que je veux comme vous pouvez le voir ces quand on appui la touche 0, sa affiche la fonction lol(), mais ce que je veux savoir ces par exemple si on appui sur 0, sa affiche la fonction lol() et quand je re appui sur la touche alors que la fonction lol() et déjà afficher de supprimer la fonction. Merci de m'aider.

2 réponses

Messages postés
32061
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 avril 2021
3 394
Bonjour,

Tu testes simplement si l'élément dont l' id : NouveauID existe déjà ou non...
Si il existe... tu le supprime.

NB: Un "id" doit être UNIQUE. dans ton code tu as utilisé deux fois le même id ... attention.
Messages postés
55
Date d'inscription
mercredi 24 octobre 2018
Statut
Membre
Dernière intervention
22 janvier 2021
8
Je sais que ses comme sa qu'on fait si il existe deja on le supprime mais je sais pas comment on fait en js et les 2 id qui sont parreille ces normale
Messages postés
32061
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 avril 2021
3 394

les 2 id qui sont parreille ces normale

Heu... non.
C'est comme avoir deux voitures avec la même plaque d'immatriculation... deux personnes avec le même numéro de sécu .... ce n'est pas "normal".
Si tu as besoin de pouvoir "cibler" plusieurs éléments .. utilise les "class" au lieu des ID !

Pour ce qui est de vérifier si un élément existe... il suffit d' un IF
var monElm = document.getElementById("NouveauID");
if(monElm){
    alert("NouveauID Existe déjà !");
    monElm.remove();
}


EDIT : remove étant une méthode.. il ne faut pas oublier les parenthèses...
Messages postés
55
Date d'inscription
mercredi 24 octobre 2018
Statut
Membre
Dernière intervention
22 janvier 2021
8
Salut jordane45.
Moi sa ne marche pas ou alors j'ai mal fait les choses regarde


var Style = document.createElement('style');
var texte_Style = document.createTextNode('div#irevelb_div{ padding: 10px; border: 1px dashed; text-align: center; } .irevelb_absolute{ position: absolute; width: 350px; height: 350px; background-color: #000; border-color: red; opacity: 0.8; } #irevelb_abs1{ top: 10px; left: 10px; } .irevelb_Div_menu_Text_p{ color: white; text-align: left; }');
Style.appendChild(texte_Style);
var body_Style = document.querySelector('.Style');
document.body.insertBefore(Style, body_Style);

var Div_Menu = document.createElement('div');
Div_Menu.id = 'irevelb_abs1';
Div_Menu.className = 'irevelb_absolute';
var Div_Menu__ = document.querySelector('.Div_Menu');
document.body.insertBefore(Div_Menu, Div_Menu__);

var P_1 = document.createElement('p');
var Text_P_1 = document.createTextNode('Salut');
P_1.className = 'irevelb_Div_menu_Text_p';
P_1.appendChild(Text_P_1);
Div_Menu.append(P_1);
Div_Menu = document.getElementById('irevelb_abs1');
}

onkeypress = function(e){
if(e.charCode == 48){
var Verif_Div = document.getElementById('irevelb_abs1');
if(Verif_Div){
Verif_Div.remove;
} else {
LaFonction();
}
}
}


Sa m'affiche bien la première fois vu quelle existe pas mais quand elle est afficher elle ne s'enlève pas.
Merci de m'aidez (Je demande juste sa et après je ne posterais plus de message dans le forum normalement)
Messages postés
32061
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 avril 2021
3 394 >
Messages postés
55
Date d'inscription
mercredi 24 octobre 2018
Statut
Membre
Dernière intervention
22 janvier 2021

Commence par poster ton code CORRECTEMENT !
ça fait déjà 5 fois que je te le demande..... je ne répondrai qu'après que tu nous ais mis le code en utilisant les balises de code ET y avoir précisé le langage afin d'avoir la coloration syntaxique.
Je te redonne encore une fois le lien pour les explications :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Messages postés
32061
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 avril 2021
3 394
bon.. je vais quand même te donner une piste
onkeypress = function(e){
  if(e.charCode == 48){
    var Verif_Div = document.getElementById('irevelb_abs1');
    if(Verif_Div){
      alert('La div existe...');
      Verif_Div.remove(); 
    } else {
      LaFonction();
    }
  }
}
Messages postés
55
Date d'inscription
mercredi 24 octobre 2018
Statut
Membre
Dernière intervention
22 janvier 2021
8
De 1 mon code est mit correctement
De 2 si ta t'énerve de me répondre part
De 3 je te remais bien le code

onkeypress = function(e){
if(e.charCode == 48){
var Verif_Div = document.getElementById('irevelb_abs1');
if(Verif_Div){
Verif_Div.remove;
} else {
LaFonction();
}
}
}


Je tes mit juste le truck pour enlever et afficher
De 4 crie pas
Et comme je t'ai dit si tu pete les plomb part je t'oblige pas a resté pour me répondre
De 5 tu me la jamais demander 5 fois tu la inventer merci
Messages postés
32061
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 avril 2021
3 394
De 1 Ton code n'était pas mis correctement.... regarde donc la COLORATION SYNTAXIQUE
Tu pourrais aussi mettre un peu d’indentation histoire de rendre ton code plus lisible.... mais bon.

2 - Ca ne m'énerve pas de te répondre.... ça m'agace juste que les gens (comme toi...) demandent de l'aide sans faire le moindre effort en retour ( effort de suivre et d'appliquer les consignes qui leur sont données par les membres du forum... et plus particulièrement les modérateurs ! )

3 - Ben voila.. ce n'est pas si compliqué... manque juste l'indentation... mais on fera avec.

4 - A quel moment ai-je crié ?
Tu veux parler du mot "correctement" écrit en majuscule ? .. désolé. la prochaine fois je l'écrierai en souligné:gras.. c'est juste pour que puisse se voir vu que les précédentes fois tu semblais être passé à côté.

5 - je t'ai donné une réponse ... tu ne semble pas l'avoir vu...

6 - Je t'invite à faire un petit tour sur la charte du forum avant de poursuivre sur des réponses comme tu le fais....
Messages postés
55
Date d'inscription
mercredi 24 octobre 2018
Statut
Membre
Dernière intervention
22 janvier 2021
8
Bonjour Jordane45.

Merci d'avoir prit le temps de me supporter et de m'avoir m'aidez. J'ai enfin trouvé ce qu'il ne marche pas. Bonne journée.

Le code qui marche :

onkeypress = function(e){
 if(e.charCode == 48){
	 var Verif = document.getElementById('irevelb_abs1');
	 if (Verif == null){
		 LaFonction()
	 } else {
		 var parent = document.body;
		 parent.removeChild(Verif);
	 }
 }
}