Cela devrait être une question facile pour beaucoup d'entre vous!Besoin d'aide pour passer des variables entre deux fonctions dans jQuery
Contexte: J'ai de la difficulté à passer une variable entre deux fonctions en javascript en utilisant la bibliothèque jQuery. Ci-dessous un script sur lequel je travaille qui charge dynamiquement le contenu basé sur l'index de workSnippet. La fonction supérieure fonctionne. La deuxième fonction ne fonctionne pas. Aucune alerte n'est donnée, car la variable portfolioCount ne semble pas exister. Comment puis-je transmettre la variable entre les deux fonctions de sorte que lorsque je clique sur 'suivant', je peux alerter portfolioCount?
Merci
// set global variable
var portfolioCount = 0;
// begin on document ready
$(document).ready(function() {
// Return the value of the index of workSnippet when clicked and load related content
$(".workSnippet").click(function() {
//set variable portfolioCount based on index
var portfolioCount = $(".workSnippet").index(this);
//load content based on portfolioCount
$('#work #cycle' + portfolioCount).load("ajax-content/ajax-content.php #portfolioImage" + portfolioCount);
// when loaded, run animation functions
$("#work").ajaxComplete(function(){
setTimeout(invokeMultipleCycle, 200);
showWork();
$('#work').cycle(portfolioCount);
$('#blurbs').cycle(portfolioCount);
return portfolioCount;
});
});
// return cycle value when 'next' is clicked
$('#next').click(function() {
alert(portfolioCount);
});
});
Si vous 'alerte (portfolioCount) 'juste après l'avoir assigné dans le gestionnaire de clic, quel numéro est alerté? Votre problème peut se situer là, et non dans votre portée variable. – strager
(De plus, ici, votre variable globale n'est jamais référencée. Êtes-vous sûr de comprendre les règles de fermeture JavaScript?) – strager
Nevermind; J'ai mal lu le code. Je n'ai pas remarqué que le code défile pour révéler le rappel '$ ('# next'). Click'. – strager