【问题标题】:How to way load the next image before the previous one fades out totally in jquery slideshow?如何在前一个图像在jquery幻灯片中完全淡出之前加载下一个图像?
【发布时间】:2012-04-24 01:46:57
【问题描述】:

我有一个幻灯片,我希望在当前图像淡出时让下一张图像淡入。

那么,有没有办法在上一张图片完全消失之前加载下一张图片?

这是我正在使用的:

    var aImages = new Array();
    var iPrev = -1;
    var iRnd = -1;
    aImages[0] = "01.jpg";
    aImages[1] = "02.jpg";
    aImages[2] = "03.jpg";
    aImages[3] = "04.jpg";
    aImages[4] = "05.jpg";
    aImages[5] = "06.jpg";
    $(document).ready(function() {
        $("img#bg").load(function()
            {
                $("img#bg").fadeTo(2000,1);
                setTimeout(function() 
                    {
                        $("img#bg").fadeOut(1000);
                        setTimeout(LoadImages,1000);
                    }
                    ,4000);
            }           
        )
        setTimeout(LoadImages,1000);
});
function LoadImage(iNr)
    {
        $("img#bg").attr("src", aImages[iNr]);      
};    
function LoadImages()
{
    while(iPrev == iRnd)
    {
        iRnd = Math.floor(Math.random()*aImages.length);
    }
    LoadImage(iRnd);
    iPrev = iRnd;
};

【问题讨论】:

    标签: jquery background slideshow fadein


    【解决方案1】:

    您可以使用 Javascript 预加载图像,如 this article 所示

    【讨论】:

    • 好的,我试过了,然后呢?如果我要预加载图像,是否应该立即自动淡入对方?我很好奇的另一件事是,在我正在使用的脚本中,我不是已经在该数组中预加载图像了吗?!
    【解决方案2】:

    工作链接:http://jsfiddle.net/Ghokun/wnTte/13/ 只需将图像放在一起即可。

    是对以下问题的回答,但也可能对您有用

    jQuery - divs not fading out completely before next starts fading in

    【讨论】:

    • 我已经准备好了一切,我只是想修改上面的代码,而不是实现一些其他的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多