【问题标题】:JCarousel JQuery plugin, some help neededJCarousel JQuery 插件,需要一些帮助
【发布时间】:2010-01-11 21:20:09
【问题描述】:
即使轮播中没有项目,下一个按钮也会启用,并且似乎JCarousel 认为它有无限项,因为当我单击下一个时,它实际上会滚动。
当轮播中没有项目时,我想禁用“下一个”。
顺便说一句,当轮播中有物品时,轮播会完美运行!
我完全没有使用 JQuery 的经验,只有一些 javascript。
这就是我所拥有的:
jQuery(document).ready(function() {
jQuery('#mycarousel').jcarousel({
scroll:4
});
});
我认为我应该以某种方式使用 initCallback,但正如我所说,我根本没有使用 JQuery 的经验。 BTW here is all JCarousel 参数,我想,如何设置它们。
希望有人能帮助我。
谢谢
【问题讨论】:
标签:
javascript
jquery
html
jquery-plugins
【解决方案1】:
我相信你是对的,initCallback 是你想要的。您需要进行某种测试以查看列表中是否包含任何项目,例如:
initCallback: function(carousel, state){
if($(carousel).find('li').length == 0){
$('#next').attr('disabled', true);
}else{
$('#next').attr('disabled', false);
}
}
您可能还想查看buttonNextCallback 和buttonPrevCallback 轮播功能,如果当前li 是:last 或@,这将再次允许您启用或禁用下一个和上一个“按钮” 987654327@,分别。
【解决方案2】:
我没有在你的其他问题中问这个,但我现在会问 - 如果没有广告暗示你有一个完全空的 ul 开头,那么为什么还要有 ul 以及为什么要调用 jcarousel是吗?
我认为您这样做是为了布局一致性,如果是这样的话,那没关系,但是您不应该为您的广告框设置一些默认内容吗?否则你会得到控件和一个我无法想象的空白 div 看起来“不错”。
无论哪种方式我都可以为您提供帮助,但我想提供一个好的解决方案,它可能是您实际要求的解决方案,也可能不是;-)
例如,如果没有广告,则完全省略 jcarousel 调用,您可以执行以下操作:
$(document).ready(function(){
var carouselList = $('#my-ad-carousel li');
if(carouselList.length > 0) {
carouselList.jcarousel({scroll: 4});
}
});
or replace it with a single default ad:
$(document).ready(function(){
var carouselList = $('#my-ad-carousel li');
if(carouselList.length > 0) {
carouselList.jcarousel({scroll: 4});
}
else{
carouselList.replaceWith('<img src="/path/to/some/image" />");
}
});
这完全取决于,但我不确定简单地显示完全禁用的 arousel 是否是一条好路。