这对许多人来说应该是一个简单的问题!
背景: 我在使用jQuery库在javascript中的两个函数之间传递变量时遇到了困难。
下面是我正在处理的脚本,它根据workSnippet的索引动态加载内容。顶级功能有效。第二个功能不起作用。没有给出警报,因为portfolioCount变量似乎不存在。
我的问题: 如何在两个函数之间传递变量,以便在单击“下一个”时,我可以提醒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);
});
});
答案 0 :(得分:2)
在函数之外声明全局:
var portfolioCount=0;
然后从此行中删除'var'关键字:
var portfolioCount = $(".workSnippet").index(this);
/ SIM
答案 1 :(得分:0)
将portfolioCount
声明为全局变量。
替代地
$('#next').click(function () {
var item = $(".workSnippet");
var portfolioCount=$(".workSnippet").index(item);
alert(portfolioCount);
});
答案 2 :(得分:0)
您可以将其保存在全局javascript变量中
答案 3 :(得分:0)
您要两次声明portfolioCount。 $('。worksnippet')中的portfolioCount。click()回调是所述回调范围内的一个完全不同的变量。尝试从click回调的portfolioCount分配中删除'var'关键字,它应该使用全局关键字。