Jquery, changing background image with timer

2019-01-18 08:06发布

I have two background images I am using for this website and I want them to change automatically every 5 seconds. Can someone please look at my jQuery code and tell me what I am doing wrong?

$(function() {
var body = $(‘body’);
var backgrounds = new Array(
 ‘url(images/hso-palmtree-background.jpg)’,
 ‘url(images/hso-boardwalk-background.jpg)’
);

var current = 0;

function nextBackground() {
  body.css(
   ‘background’,
    backgrounds[current = ++current % backgrounds.length]
 );

 setTimeout(nextBackground, 5000);
 }
 setTimeout(nextBackground, 5000);
   body.css(‘background’, backgrounds[0]);
 });

1条回答
何必那么认真
2楼-- · 2019-01-18 08:46

You code is correct, you just need to change the backticks. Change to '.

Here is a cleaned revision: http://jsfiddle.net/X2NqX/

$(function () {
    var body = $('body');
    var backgrounds = [
      'url(http://static.jsbin.com/images/jsbin_static.png)', 
      'url(http://static.jsbin.com/images/popout.png)'];
    var current = 0;

    function nextBackground() {
        body.css(
            'background',
        backgrounds[current = ++current % backgrounds.length]);

        setTimeout(nextBackground, 5000);
    }
    setTimeout(nextBackground, 5000);
    body.css('background', backgrounds[0]);
});
查看更多
登录 后发表回答