Fonctions non définies avec plusieurs fichiers .js
bonjour à tous,
j'ai une page html, qui est lié à un fichier javascript :
Code:
<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 :
Code:
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++;
});
}
} |
Cela fonctionne et les fonctions sont bien appelées à l'entrée et à la sortie de chaque div ainsi construite.
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 :
Code:
<script type="module" src="scripts/main4.js"></script>
j'ai créé un fichier structure.js, avec une fonction "structurer()", précédée du mot clé "export".
J'ai ajouté l'import dans mon main4.js :
Code:
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....