jquery淡入滑块未转换

时间:2013-04-27 21:40:25

标签: jquery css jquery-ui-slider

我正在尝试制作一个小jquery滑块,以便在图像之间简单地淡化,但是当它逐渐淡入下一张幻灯片时,它会显示一段幻灯片,然后返回到第一张幻灯片。我不是最好的jquery,更不用说JavaScript,我是一个PHP / BASH家伙。

http://jsfiddle.net/mrVGL/3/

的jQuery

                    // Start Slides

                    $('#hi1').fadeTo("slow", 1.0, function () {

                        var slide = 1,
                            slides = 4
                            ids = [
                                '#hi1',
                                '#hi2',
                                '#hi3',
                                '#hi4', ],
                            slideShow = setInterval(function () {
                                var nextSlide = slide + 1;
                                if (slide >= slides) {
                                    nextSlide = 1;
                                }
                                $(ids[nextSlide]).fadeTo("fast", 1.0, function () {
                                    $(ids[slide]).fadeTo("slow", 0);
                                });
                                slide++;
                                if (slide >= slides) {
                                    slide = 1;
                                }
                            }, 5000);
                        // End Slides

                    });

1 个答案:

答案 0 :(得分:3)

nextslide检查通过了计数,因为您正在检查当前幻灯片。 首先淡出你以前的幻灯片,然后淡出即将到来的幻灯片。 数组索引从0开始,因此启动表示数组索引为0的变量是有意义的。

无论如何,请尝试以下方法! :)

// Start Slides
$('#hi1').fadeTo("slow", 1.0);
var slide = 0,
ids = [
    '#hi1',
    '#hi2',
    '#hi3',
    '#hi4', ],
countSlides = slides.length,
slideShow = setInterval(function () {
    var nextSlide = slide + 1;
    if (nextSlide > countSlides - 1) {
        nextSlide = 0;
    }
    $(ids[slide]).fadeTo("slow", 0);
    $(ids[nextSlide]).fadeTo("fast", 1.0);
    slide++;
    if (slide > countSlides - 1) {
        slide = 0;
    }
}, 1000);