jquery滑块任务

时间:2013-04-02 11:53:18

标签: jquery slider

我有滑块。当它是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);

5 个答案:

答案 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元素。