Javascript幻灯片淡出

时间:2015-03-25 02:09:37

标签: javascript slideshow fadein fadeout

你们知道我的代码有什么问题吗?我正在尝试制作幻灯片,淡出图像和新图像。这很简单,但我似乎无法让它工作。

这是我的HTML:

    <img src="images/slideshow/1.jpg" id="slide"></img>

这是我的JS:

    <script>
        var slideimages = new Array()
        slideimages[0] = new Image()
        slideimages[0].src = "images/slideshow/1.jpg"
        slideimages[1] = new Image()
        slideimages[1].src = "images/slideshow/2.jpg"
        slideimages[2] = new Image()
        slideimages[2].src = "images/slideshow/3.jpg"
    </script>

    <script>
        var step = 0

        setInterval(function() {

        if (!document.images)
            return

        document.getElementById('slide').src = slideimages[step].src

        if (step < 2)
            step++

        else
            step = 0
            var old = slideimages[step].src;
            old.fadeOut(2000);
            var next = slideimages[step + 1].src;
            next.fadeIn(2000);
        }, 5000);

    </script>

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

你可能想给jQuery一个机会。它会简化你的问题。

    var slideimages = new Array()
    slideimages[0] = "..."
    slideimages[1] = "..."
    slideimages[2] = "..."

    var step = 0;
    setInterval(function() {
        step = (step+1) % slideimages.length;
        $('#slide').animate({
            'opacity': '0'   
        }, function() {
            // This is called when fading out is complete.
            $('#slide').attr('src', slideimages[step]);
            $('#slide').animate({ 'opacity': '1' });
        });
    }, 5000);

JFiddle示例:https://jsfiddle.net/faehzLjp/1/