2
我正在閱讀一個帶有jQuery ajax函數的rss文件,在成功創建數組函數mycarousel_itemList
並使用push填充項目。我想,我再創建一個函數來使用這個數組,但我得到的錯誤:從jQuery返回一個數組ajax成功函數
mycarousel_itemList
is not defined
什麼錯?
<script type="text/javascript">
var rss = 'http://search.issuu.com/userxxx/docs/recent.rss';
$.ajax({
type: 'GET',
url: 'js/issuuGallery/proxy.php?url='+rss,
dataType: 'xml',
success: function(xml) {
var ul = document.createElement("ul");
ul.setAttribute('id', 'issuu-gallery');
ul.setAttribute('class', 'overview');
$(xml).find('item').each(function(){
var mycarousel_itemList = [];
var id = $(this).find('[name="documentId"]').attr('value');
var src = 'http://image.issuu.com/'+id+'/jpg/page_1_thumb_small.jpg';
mycarousel_itemList.push(src);
console.log(mycarousel_itemList);
});
}
});
function mycarousel_itemLoadCallback(carousel, state)
{
for (var i = carousel.first; i <= carousel.last; i++) {
if (carousel.has(i)) {
continue;
}
if (i > mycarousel_itemList.length) {
break;
}
carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[i-1]));
}
};
/**
* Item html creation helper.
*/
function mycarousel_getItemHTML(item)
{
return '<img src="' + item.url + '" width="75" height="75" alt="' + item.url + '" />';
};
jQuery(document).ready(function() {
jQuery('#mycarousel').jcarousel({
size: mycarousel_itemList.length,
itemLoadCallback: {onBeforeAnimation: mycarousel_itemLoadCallback}
});
});
它看起來像jQuery的(文件)中。就緒叫你引用的mycarousel_itemList嘗試計算大小,但我不認爲該變量在那裏。你知道導致錯誤的具體行號嗎? – jennyfofenny
'mycarousel_itemList'是一個局部變量,它只能在.each()循環中使用。嘗試省略「var」關鍵字。但更糟糕的是:您在ajax調用完成之前嘗試訪問mycarousel_itemList,您將不得不重新考慮您的程序流。 – devnull69
如果函數'mycarousel_itemLoadCallback'錯誤在第二位。我不知道如何使數組在ajax的成功函數之外的其他函數中可用。這是我的問題 – Alexander44