过滤 jcarousel 内容
我不知道这是否是一个错误,但这是我的问题:我使用 jquery 过滤 jcarousel 内容。一切都很顺利,直到我开始使用下一个/上一个按钮。在过滤的默认阶段,按钮工作正常,但在我开始过滤内容(图像)后,jcarousel 开始疯狂工作。例如,如果我在默认状态下有 10 张图像,在过滤后在舞台上显示 3 张(假设我现在只有 4 张),如果我到达最后一张图片,则下一个按钮仍处于启用状态,我可以再滚动 10-15 像素即使只有空白区域。
被过滤器删除的图像将通过淡出动画消失。
我尝试在每次过滤操作后调用 jcarousel,但得到相同的结果。在某些情况下,在我应用过滤器后,上一个 btn.它未启用,但我可以滚动 100-200px 的空白区域。
过去三天我试图解决这个问题,但找不到正确的解决方案。
抱歉我的英语,谢谢:-)
更新:
这是我的代码,也许它会帮助理解这个问题:
$(".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 ' 菜单链接的值。过滤工作正常。
I don't know if it's a bug or not, but here's my problem: I filter the jcarousel content using jquery. Everything goes ok until i start to use the next/prev buttons. On the default stage of filtering, buttons are working ok, but after i start to filter the content (images) the jcarousel start to work all crazy. For example, if i have 10 images in default state, showing 3 on stage, after filtering (let's say i have only 4 now) if i get to the last picture, the next button it's still enabled and i can scroll another 10-15px area even there is only blank space.
Images that are removed by the filter are going out by fadeOut animation.
I tried to call the jcarousel after every filtering action but i get the same result. In some cases, after i apply the filter, the prev btn. it's not enabled but i can scroll 100-200px area of blank space.
I tried to solve this issue for the last 3 days but i couldn't find the right solution.
Sorry for my english and thanks :-)
Update:
Here's my code maybe it will help understanding the issue:
$(".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;
});
The jCarousel structure (.anim) is:
<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>
Where flt1..3 are my filters and the 'rel' value of menu links. The filtering works ok.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要明确告诉 jCarousel 还剩下多少项目。
例如,这是一个匿名函数,我将其提供给 jCarousel 的配置。
请注意,最后我必须如何设置大小?您需要做的是在配置中找到合适的回调,然后设置新的项目的长度。
You need to explicitly tell jCarousel how many items still remain.
For example, here is an anonymous function that I give to the config of jCarousel
Notice how at the end I have to set the size? What you need to do is find a suitable callback in the configuration, and then set the new length of items.