过去两天我一直在努力让这个东西给我打电话 getJSON并根据carousel.last获取一组新记录 单击下一个按钮时的值。它在启动时加载3张图片 很好,但是没有启用下一个按钮,因为我只有3个 已加载,队列中不再有余留。我不想要任何 挥之不去。
看看这个例子,这是我想要做的,而是 使用我的getJSON方法获取新的图像集:
http://sorgalla.com/projects/jcarousel/examples/dynamic_flickr_api.html
所以这是我的代码,但它不起作用意味着我加载3个图像和 下一个按钮未启用。即使我加载4张图片(以获得 下一个按钮是可点击的,因为我已经加载了4个图像,它知道 除了3)之外还有另外一个,它不会去取一个 新的3张图片集:
<script src="../scripts/jquery-1.3.2.min.js" type="text/javascript"></
script>
<script src="../scripts/jquery.jcarousel.pack.js" type="text/
javascript"></script>
<link rel="stylesheet" type="text/css" href="../css/
jquery.jcarousel.css" />
<link rel="stylesheet" type="text/css" href="../css/skin.css" />
<script type="text/javascript">
jQuery(document).ready(function()
{
$('#mycarousel').jcarousel({
itemLoadCallback: mycarousel_itemLoadCallback
});
});
function decode(s)
{
return s.replace(/&/g, "&")
.replace(/"/g, '"')
.replace(/'/g, "'")
.replace(/</g, "<")
.replace(/>/g, ">");
};
function mycarousel_itemLoadCallback(carousel, state) {
carousel.lock();
//for (var i = carousel.first; i <= carousel.last; i++) {
mycarousel_itemAddCallback(carousel, carousel.first,
carousel.last);
//}
};
function mycarousel_itemAddCallback(carousel, first, last) {
// Unlock
carousel.unlock();
$.getJSON("http://localhost:59396/xxx/xxxHandler.ashx?
action=carouselproducts&setsize=3" + "&cfirst=" + carousel.first +
"&clast=" + carousel.last,
function(data) {
carousel.size(data.length);
$.each(data, function(i, item) {
carousel.add(i, decode(item.ImageTag));
if (i == 3) return false;
});
});
};
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<ul id="mycarousel" class="jcarousel-skin-ie7">
<!-- this will be dynamically populated -->
</ul>
</div>
</form>
</body>
</html>
我不知道在这里尝试什么,或者如何让它像那样工作 例。我认为我不需要所有的分页逻辑,因为我是 不使用Flickr,我想将下一组基于fetch 通过点击下一个或上一个按钮调用我的getJSON,在轮播的第一个和最后一个索引上。
答案 0 :(得分:0)
我拿了你的代码并在FF4和IE9中运行它。启用了下一个按钮,我甚至看到当我点击下一个图标时进行的ajax调用。您的问题浏览器是否具体?