Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript div'的幻灯片放映;s背景图像+;jquery_Javascript_Jquery_Html_Background_Slideshow - Fatal编程技术网

Javascript div'的幻灯片放映;s背景图像+;jquery

Javascript div'的幻灯片放映;s背景图像+;jquery,javascript,jquery,html,background,slideshow,Javascript,Jquery,Html,Background,Slideshow,我在标题处有一个大div元素,div中有许多文本内容和一些框。我有一个大img作为这个div的背景,现在我需要为这个div的背景制作一个幻灯片:/ 我如何为一个div的背景图像制作幻灯片 我做了很多研究,但没有发现任何东西:/ 非常感谢!谢谢 一种方法是制作一组背景图像: var bgArr = ["img/bg1.jpg", "img/bg2.jpg"]; //and so on... function backgroundSlide(i) { $("#header").css("ba

我在标题处有一个大div元素,div中有许多文本内容和一些框。我有一个大img作为这个div的背景,现在我需要为这个div的背景制作一个幻灯片:/

我如何为一个div的背景图像制作幻灯片

我做了很多研究,但没有发现任何东西:/


非常感谢!谢谢

一种方法是制作一组背景图像:

var bgArr = ["img/bg1.jpg", "img/bg2.jpg"]; //and so on...
function backgroundSlide(i) {
    $("#header").css("background-image", "url("+bgArr[i++]+")");
    if (i == bgArr.length) i = 0;
    var st = setTimeout(arguments.callee(i), 1000);
}
backgroundSlide(0)

这将循环…

您可以使用以下方法更改背景图像:

$("#mydiv").css("background-image", "url(1.jpg)");

为了创建幻灯片,请使用settimeout定期调用它。

我也在寻找css背景元素幻灯片,谢谢您的输入。我用setTimeout方法探索了您的解决方案,但是遇到了很多麻烦(我是一个noob)

我用setInterval替代方案修改了peirix的解决方案,并提出了这个方案

var bgArr = ["images/TopImage-01.jpg", "images/TopImage-02.jpg", "images/TopImage-03.jpg" ]; 
var i=0;

// Start the slide show
var interval = self.setInterval("swapBkgnd()", 5000)  

function swapBkgnd() {
 if (i>(bgArr.length-1) ) {
  i=0
  $("#header").css("background-image", "url("+bgArr[i]+")");
 }
 else {
  $("#header").css("background-image", "url("+bgArr[i]+")"); 
 } 
 i++;
};

现在,我需要添加一个淡入淡出效果和图像预加载,我将离开。我想知道是否有更整洁的方法来实现这一点

几天前,我一直在寻找类似的解释。第二个答案很好,但正如我所见,它需要褪色效果。我已经做到了(甚至更多)。代码如下:

var bgArr = ['img1.png', 'img2.png', 'img3.png', 'img4.png']; 
var bgText = ['text1', 'text2', 'text3', 'text4']; 
var i=0;
var left = 0;

$(document).ready(function() {
    timer = setTimeout("changeBG()", 7000);

    $("#slider_left").on("click", function(){
        i = i-2;
        if(i<-1) i = bgArr.length-2;         
                left = 1;       
                clearTimeout(timer);        
                changeBG();     
        });     
        $("#slider_right").on("click", function(){      
                if(i>(bgArr.length-1)) i = 0;
        clearTimeout(timer);
        changeBG();
    });
});

function changeBG() {
    i++;
    if(i>(bgArr.length-1)) i = 0;
    $('#slider_up').stop().fadeIn(1000, function(){
        if(left == 1){
        var a = i+1;
        if(i == bgArr.length-1)
            a = 0;
        }else{
        var a = i-1;
        if(i == 0)
            a = bgArr.length-1;
        }
        left = 0;

        $("#slider_up").css("background", "url("+bgArr[a]+") no-repeat center center white");
        $("#slider_up").css('opacity',0).show().animate({opacity:1});
        $("#slider_down").css("background", "url("+bgArr[i]+") no-repeat center center white");
        $("#slider_up").css('opacity',1).show().animate({opacity:0});
        $(".text_holder").fadeOut(1000, function() {
        $(this).html(bgText[i]);
        $(this).fadeIn(500);
        });
    });
    timer = setTimeout("changeBG()", 7000);
};
我在我的博客上解释过:

希望这对大家都有帮助。 最好的, 赌注。

这可能会帮助您-

但只有渐变。祝你好运

$("#header").bose({
    images : [ "imagePath_1", "imagePath_2", "imagePath_3"]
});