CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[JavaScript] besoin d'aide

-[malkyfield]-
-[malkyfield]-
Niveau 10
11 novembre 2013 à 16:08:24

bonjour a tous, j'ai un probleme sur mon code javascript et je ne vois pas ou ce trouve le probleme.
le but de mon code est d'afficher une alert lorsque ma souris passe sur l'element "p1" (un paragraphe de texte) et d'afficher une autre alert lorsque la souris quitte "p1".

voila mon code :
window.onload=pageChargee;

var e = document.getElementById("p1");

function pageChargee()
{
e.onmouseover=surp1;
e.onmouseout=plusurp1;
}

function surp1()
{
alert("appel 1");
}

function plusurp1()
{
alert("appel 2");
}

Pourriez vous me dire ou ai-je merdé, ca doit faire une heure que je cherche et je ne trouve toujours pas ce qui cloche. merci :)

Eij_iZ_WanteD
Eij_iZ_WanteD
Niveau 10
11 novembre 2013 à 19:58:45

function pagechargee() {
var e = document.getElementById('a');
e.setAttribute('onMouseover', 'surp1();');
e.setAttribute('onMouseout', 'plusurp1();');
}
function surp1() {
alert('appel1');
}
function plusurp1() {
alert('appel2');
}

+ <body onLoad="pagechargee();">

pseuuuuuuuuuudo
pseuuuuuuuuuudo
Niveau 10
11 novembre 2013 à 20:20:48

Pour répondre à ça : https://www.jeuxvideo.com/forums/1-51-51367089-1-0-1-0-probleme-javascript.htm#message_51368623

C'est tout simplement que tu n'as pas d'élément ayant pour id p1 dans ta page, du coup le getElementById te retourne null, et null n'étant pas un objet, et encore moins un HTMLElement, pas moyen de modifier son onmouseover.

Eij_iZ_WanteD
Eij_iZ_WanteD
Niveau 10
11 novembre 2013 à 21:11:28

1- tu définis "e" avant que la page soit chargée du coup il n'y a pas encore d'élément avec pour id "p1".

2- la modification d'un attribut par element.attribut=valeur est évènementielle, elle ne modifie pas réellement l'attribut mais applique la modification lors de son appel. Enfin je crois, de toute manière ton attribut n'est pas définit, il faut l'ajouter, l'utilisation de setAttribute est alors plus propre.

3- un évènement onLoad sur le body suffit, mais vu comment tu manipules cela c'est que tu ne dois faire un script greasemonkey car autrement tu mettrais directement les attributs dans les balises.

Du coup ça te donne :

window.onload = pagechargee;
function pagechargee() {
var e = document.getElementById('p1');
e.setAttribute('onMouseover', 'surp1();');
e.setAttribute('onMouseout', 'plusurp1();');
}
function surp1() {
alert('appel1');
}
function plusurp1() {
alert('appel2');
}

-[malkyfield]-
-[malkyfield]-
Niveau 10
12 novembre 2013 à 13:21:28

je vous remercie, j'etais dans un sacré petrin :hap:

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment