我不知道这是不是一个bug,但这是我的问题:我使用jquery过滤jcarousel内容。一切顺利,直到我开始使用next / prev按钮。在默认的过滤阶段,按钮工作正常,但在我开始过滤内容(图像)后,jcarousel开始疯狂地工作。例如,如果我有10个图像处于默认状态,在舞台上显示3,过滤后(假设我现在只有4个)如果我到达最后一个图片,下一个按钮它仍然启用,我可以滚动另一个10-15px区域即使只有空白区域。
过滤器删除的图像将通过fadeOut动画输出。
我尝试在每次过滤操作后调用jcarousel,但我得到相同的结果。在某些情况下,我应用过滤器后,上一个btn。它没有启用,但我可以滚动100-200px的空白区域。
我尝试在过去3天内解决了这个问题,但我找不到合适的解决方案。
对不起我的英文和谢谢: - )
更新
这是我的代码,也许有助于理解这个问题:
$(".anim").jcarousel();
$("#menu ul li").click(function() {
var flt = $('a', this).attr('rel');
$('.anim li').each(function() {
if(!$(this).hasClass(flt)) {
$(this).fadeOut('normal');
} else {
$(this).fadeIn('normal');
}
});
return false;
});
jCarousel结构(.anim)是:
<ul class="anim">
<li class="flt1"><img ... /></li>
<li class="flt1"><img ... /></li>
<li class="flt1"><img ... /></li>
<li class="flt2"><img ... /></li>
<li class="flt3"><img ... /></li>
</ul>
其中flt1..3是我的过滤器和菜单链接的'rel'值。过滤工作正常。
答案 0 :(得分:1)
您需要明确告诉jCarousel仍有多少项目。
例如,这是我给jCarousel
配置的匿名函数function(carousel, state) {
if (state != 'init') return;
getProperties(function(properties) {
$.each(properties, function(i, property) {
carousel.add(i + 1, getPropertyHtml(property));
});
carousel.size(properties.length);
});
}
请注意我最后要如何设置尺寸?您需要做的是在configuration中找到合适的回调,然后设置新的项目长度。