我一直在尝试倒霉了好几个小时,所以我想我应该问一下(在淘洗stackoverflow之后:S)
如何访问在ajax响应中创建的对象:
$.ajax({
type: "GET",
url: "slideshow.xml", //xml file
dataType: "xml",
success: function(xml) {
var count = 0; //counter
$(xml).find('site').each(function() {
var url = $(this).find('url').text(); //url
var imageURL = $(this).find('imageURL').text();
myArray[parseInt(count)] = new Array(imageURL, url);
count++;
});
var slideshow = new simpleGallery({
wrapperid: "topbar_scroller_inside",
dimensions: [815, 264],
imagearray: myArray,
autoplay: [false, 30000, 99],
persist: true,
fadeduration: 1000
});
}});
问题是如何访问在ajax成功响应中创建的“幻灯片”对象?
我试过访问它,例如:
<a id="prev" href="javascript:slideshow.navigate('prev')"></a>
然而,那失败了。
我也尝试过:
<a id="next" href="javascript:jQuery.proxy('slideshow', navigate('next'))"></a>
仍然失败,并且不太确定$ .proxy是否是此处的相关功能。
拜托,我可以帮助你。
答案 0 :(得分:2)
简单。在ajax调用之上声明变量。
var slideshow;
然后更改成功功能以使用slideshow = ...
。
此外,您应该将两个a
元素的href更改为#
,并使用jQuery绑定来实现点击功能:
$('a#prev').click(function() {
slideshow.navigate('prev');
return false;
});
$('a#next').click(function() {
slideshow.navigate('next');
return false;
});
答案 1 :(得分:-1)
使用JSON的json_decode()。这很简单。它将你的js变量解析为php变量。请在此处查看:http://www.php.net/manual/en/function.json-decode.php