我有滑块。当它是2张或更多照片时,它的效果非常好。但是当只有一张照片时,它仍在滑动。如何使滑块不隐藏并显示一个图像?
(function($){
$.fn.MySlider = function(interval) {
var slides;
var cnt;
var amount;
var i;
function run() {
// hiding previous image and showing next
$(slides[i]).fadeOut(1000);
i++;
if (i >= amount) i = 0;
$(slides[i]).fadeIn(1000);
// updating counter
cnt.text(i+1+' / '+amount);
// loop
setTimeout(run, interval);
}
slides = $('#my_slider').children();
cnt = $('#counter');
amount = slides.length;
i=0;
// updating counter
cnt.text(i+1+' / '+amount);
setTimeout(run, interval);
};
})(jQuery);
答案 0 :(得分:1)
为什么不通过替换
来检查金额是否超过一个setTimeout(run, interval);
与
if (amount > 1) {
setTimeout(run, interval);
}
答案 1 :(得分:1)
简单的答案是当量大于1时不运行setTimeout部分。虽然我确定还有更多。也许你可以在jsFiddle中加载它
if(amount > 1)
setTimeout(run, interval);
答案 2 :(得分:1)
在开始幻灯片之前,您应该检查图像计数。
将代码更改为:
if (amount>1){
setTimeout(run, interval)
}
答案 3 :(得分:1)
将整个函数包装在if语句中以检查是否有多个图像。
if ( $('#my_slider').children().length > 1 ){
//run function
}
答案 4 :(得分:1)
我要做的是,检查图像的数量是否为1或更多并基于该图像运行Slider方法或仅将单个图像绑定到div元素。