これは多くの人にとっては簡単な質問です。jQueryの2つの関数間で変数を渡す際の助けが必要
背景: jQueryライブラリを使用して、javascriptで2つの関数間で変数を渡すことが困難です。
以下は、workSnippetのインデックスに基づいてコンテンツを動的に読み込むスクリプトです。一番上の関数が機能します。 2番目の関数は機能しません。 portfolioCount変数が存在しないように見えるので、アラートは表示されません。
私の質問:2つの関数の間で変数を渡すと、「次へ」をクリックしたときにportfolioCountを警告できますか?
おかげ
// 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);
});
});
場合 '警告(portfolioCount) 'クリックハンドラで割り当てた直後に、どの番号が通知されますか?あなたの問題はそこにあるかもしれませんが、あなたの変数スコープではありません。 – strager
(ここでは、グローバル変数は決して参照されません。JavaScript閉鎖ルールについて理解していますか?) – strager
Nevermind;私はコードを誤解した。 '$( '#next').Click'コールバックを明らかにするためにコードがスクロールされているのに気付かなかった。 – strager