我正在尝试做我见过很多人尝试用jcarousel做的事情,也就是说,我想清除它并动态地重新填充它。我似乎找到了一种方法来完全清除空li项目的DOM(一个常见的抱怨),但我似乎无法从远程文件中添加项目。这是我的代码:
$(function() {
$('#mycarousel').jcarousel({
initCallback:carousel_callback
});
function carousel_callback(carousel){
$('#live-edge-large img').click(function(){
carousel.size(0); // sets size to 0
$('#mycarousel').empty(); // empties ul
carousel.reset(); //clears DOM of li's
$.get('ajax/xml-content.php',
{
first: carousel.first,
last: carousel.last
},
function(data) {
mycarousel_itemAddCallback(carousel,carousel.first,carousel.last,data);
},"xml"
);
});
};
function mycarousel_itemAddCallback(carousel,first,last,data) {
carousel.size(parseInt(jQuery('total', xml).text()));
$('image',xml).each(function(i) {
carousel.add(first+i, mycarousel_getItemHTML($(this).text()));
});
};
function mycarousel_getItemHTML(url)
{
return'<img src="' + url + '" width="128" height="95" alt="" />';
};
});
代码正在运行,直到这一行:
carousel.size(parseInt(jQuery('total', xml).text()));
这是我的php文件,包含xml:
<?php
header ("Content-Type:text/xml");
?>
<data>
<total>3</total>
<image>images/thumbs/test-9-thumb.jpg</image>
<image>images/thumbs/test-2-thumb.jpg</image>
<image>images/thumbs/test-3-thumb.jpg</image>
</data>
不确定为什么我无法设置尺寸然后将项目添加到轮播中,也许这样的尺寸无法重置?有任何想法吗?非常感谢。
答案 0 :(得分:0)
在你的函数mycarousel itemAdd Callback中,替换n#39; xml&#39;使用&#39;数据&#39;它应该工作......