Je veux affecter une valeur de variable globale à une fonction et utiliser cette variable dans une autre fonction. Mais pour une raison quelconque, la variable est vide dans la deuxième fonction.
Mes pensées
Soit la fonction 2 est exécutée d’abord avant la fonction 1 (si tel est le cas, comment la commande jquery tostart exécute-t-elle une instruction ou une fonction particulière?)
Ou
La variable globale myvar de la fonction 1 n'est pas définie (si c'est le cas, quelle est l'alternative pour y parvenir?)
var my_var;
//function 1
$(".div1").onhover(function(){
my_var="hello"
});
//function 2
$(".div1").onhover(function(){
//i want to make use of my_var here, but it is blank
});
//I want to use my_var it somewhere here too, but it doesnt work
Réponses:
2 pour la réponse № 1La fonction correcte est .hover
(plus ici); .onhover
n'est pas correcte. Le code ci-dessous fonctionne comme vous l'avez demandé (exemple en direct).
HTML
<div id="TestID" class="div1">This is a test.</div>
JavaScript
var my_var;
//function 1
$(".div1").hover(function(){
my_var=$(this).attr("id");
});
//function 2
$(".div1").hover(function(){
alert(my_var);
});
Voici quelques liens utiles supplémentaires sur les variables globales en JavaScript:
- Comment déclarer une variable globale en JavaScript?
- Comment stocker une valeur globale (pas nécessairement une variable globale) dans jQuery?
- Variables globales en Javascript