0

这个身体滑块不工作。有什么帮助吗?我让它在图像上工作,但不是身体。这是有问题的代码

var slides = new Array();
slides[0] = 'images/0.jpg';
slides[1] = 'images/1.jpg';
slides[2] = 'images/2.jpg';
var currentSlide = 0;

function slideshow() {
currentSlide++;
if(currentSlide >= slides.length)
{
currentSlide = 0;
}
var bla = slides[currentSlide];

$(body).css("background-image", bla.attr("src"));
}
setInterval('slideshow();', 1000);
4

2 回答 2

0

bla不是 jQuery 对象,所以它没有attr方法。在 CSS 中你会写background-image: url(img.jpg),所以你必须在 JavaScript 中做同样的事情。

然后$(body)就不行了,你需要一个选择器$('body'),或者$(document.body)

尝试这个:

$('body').css('background-image', 'url('+ bla +')');

还值得指出的是,您应该传递对函数的引用setInterval而不是字符串,因为它触发eval并且您不希望这样:

setInterval(slideshow, 1000);
于 2013-10-28T23:32:57.090 回答
0

像这样更新您的代码:

function slideshow() {
    currentSlide++;
    if(currentSlide >= slides.length){
        currentSlide = 0;
    }
    var bla = slides[currentSlide];


    $('body').css('background-image', 'url('+ bla +')');
}
于 2013-10-28T23:39:55.923 回答