我正在尝试做我见过的很多人尝试使用jcarousel做的事情,那就是,我想清除它并动态地重新填充它。我似乎已经找到了一种方法来完全清除DOM中的空li项(这是一个常见的抱怨),但是我似乎无法从远程文件中添加项。下面是我的代码:
$(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()));下面是我的包含xml的php文件:
<?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>不知道为什么我不能设置大小,然后添加项目到传送带,也许大小不能以这种方式重置?有什么想法吗?非常感谢。
发布于 2012-01-15 04:53:50
在您的函数mycarousel_itemAddCallback中,将'xml‘替换为'data’,它应该可以工作...
https://stackoverflow.com/questions/7052178
复制相似问题