jquery background div幻灯片?

我一直在寻找这里的不同帖子,但是没有什么真的有用,除了这一个我将要向你展示jAndy.

我基本上希望能够在div的BACKGROUND中放置幻灯片.

到目前为止,我有以下代码,但是,正如你所看到的……它淡入淡出,显示图片,淡出白色,切换图片,然后淡入以显示新图片…..我只是我希望将这些消息融合在一起,而不是一个淡出而另一个消失.我知道这是相当开放的,但是有人能指出我正确的方向吗?

 var images = [
       '/slideshow1.jpg',
       '/slideshow2.jpg',
       '/slideshow3.jpg'

   ];
   loop = 0;
   $home = $('#slideme');

   (function fader(){

            $home.fadeOut(1300, function(){
            $home.css('background', 'url(' + images[loop] + ') top center no-repeat');
            $home.fadeIn(1300, function(){
                 setTimeout(fader, 9000);
            });
        });

        if(loop < images.length -1) 
           loop++;
        else loop = 0;                
    })();

我真诚地感谢任何帮助!

最佳答案
jsBin demo

您不能同时对2个背景图像进行X淡化,因为元素仅支持一个BG图像.至少不重叠背景图像. (如我错了请纠正我)
相反,您可以读取您的URL,创建真实图像,并将它们附加到所需元素:

var images = [
   '/slideshow1.jpg',
   '/slideshow2.jpg',
   '/slideshow3.jpg'
]; 

var imagesN = images.length;
var $slideme = $('#slideme');

for(i=0;i<imagesN;i++){
  $('<img>',{ src : images[i] }).appendTo( $slideme );
}

//现在你的图像被附加了,不要忘记CSS它们:position:absolute;一个接一个.

你可以使用我的jQuery插件淡化你的图像.
该插件允许您暂停悬停,并单击图像以前进!

/* FadeMe 'FPS'
// jQuery plugin
// Author: Roko C. Buljan (2012)
// www.roxon.in */
(function($){
    $.fn.fademe = function(F,P,S){
        F=F||700;  //  Fade time (default)
        P=P||3000; //  Pause time (default)
        S=S-1||0;  //  Start from 1st image (default)
        var e=this.children(),T;
        function a(){ e.eq(S=++S%e.length).fadeTo(F,1).siblings(e).stop(1).fadeTo(F,0); }
        e.on('mouseenter mouseleave click',function(e){
            var m=e.type==='mouseenter'?clearTimeout(T):(e.type==='click'?a():aa());    
        }).eq(S).show().siblings(e).hide();
        function aa(){T=setTimeout(function(){a();aa();},F+P);}aa();
    };
})(jQuery);


$slideme.fademe(); // initiate plugin on your element

通过记住’FPS’,如:“每秒帧数”:),您可以轻松修改/覆盖插件默认值:

$slideme.fademe(1300, 9000, 1);

这将导致1300ms淡入淡出; 9000暂停;从“1st”图像开始(默认).
要跳过某些默认值以达到属性,您可以执行以下操作:

$slideme.fademe(0, 0, 2); 

将被翻译成:default Fade(700);默认暂停(3000);但从第2张图片开始.

编辑如果你想要使用背景图像,请执行以下操作:

jsBin demo 2

点赞