bonjour à tous,
j'ai une page html, qui est lié à un fichier javascript :.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <script src="scripts/main4.js"></script>
Ce code me permet de construire des "div" dans ma page html, avec l'appel à deux fonctions, quand on survole une div ou qu'on en sort, contenues également dans ce fichier .js :
Cela fonctionne et les fonctions sont bien appelées à l'entrée et à la sortie de chaque div ainsi construite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 // creer les blocs matière function creer_div() { for (var i=0; i<3; i++) { // choix de la table "classe&matière" var j=0; // init ref des leçons (lecon 0) table_source[i].forEach(element => { // ATTENTION UTILISER LES CARACTERES BACKTICK DE WINDOWS : ALTGR + TOUCHE 7 DU CLAVIER ALPHANUMERIQUE var mon_test = ` <a href="${element.lien}"> <div class="libellé change fin" onmouseenter = "show_vignette(${i},${j})" onmouseleave=" kill_vignette()"> ${element.titre} </div> </a>` document.querySelector("#bloc"+i).insertAdjacentHTML("beforeend", mon_test); j++; }); } }
Dans un second temps, je désire complexifier mon code et fonctionner en ajoutant un autre fichier .js.
J'ai donc modifié la balise de script de mon fichier html :
j'ai créé un fichier structure.js, avec une fonction "structurer()", précédée du mot clé "export".
Code : Sélectionner tout - Visualiser dans une fenêtre à part <script type="module" src="scripts/main4.js"></script>
J'ai ajouté l'import dans mon main4.js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part import {structurer} from "./structure.js";
Probème
L'appel à la fonction "structurer()" du fichier "structure.js" fonctionne bien mais les appels provenant des balises html ne fonctionnent plus. il semble que le fait d'avoir mis deux fichiers .js entraine une confusion à l'appel, et les fonctions ne sont plus vues :
Uncaught ReferenceError: show_vignette is not defined
onmouseenter http://127.0.0.1:5500/menu4.html:1
menu4.html:1:1
onmouseenter http://127.0.0.1:5500/menu4.html:1
Il semble que ce soit un problème de contexte qui n'est plus implicite, mais je tourne autour du pot sans résoudre le problème....
Merci à tous ceux qui auront la solution, pour que mes appels sur "onmouseenter" et "onmouseleave", soient à nouveau orientés vers mes deux fonctions, dans le contexte d'un script en plusieurs fichiers....
Partager