2016-05-27 5 views
1

Я хочу, чтобы моя веб-страница отображала другой фон каждую минуту или там, изображение тоже довольно большое, поэтому ему пришлось бы поместиться с помощью обложки. Фон является фоновое изображение на теле вот мой CSS кодJS и CSS изменение изображения на интервал

#body { 
    background-image: url("home.jpg"); 
    background-position: top; 
    background-size: cover; 
    -webkit-background-size: cover; 
    -moz-background-size: cover; 
    -o-background-size: cover; 
    margin: 0px; 
} 

и я хочу иметь сценарий изменить URL (или источник IMG) в differrent один раз в минуту. Я попробовал это с setInteval и onLoad в html, но я не могу его взломать!

Большое спасибо

+0

Возможный дубликат: http://stackoverflow.com/questions/6440952/how-to-change-background-on-every-5s – Malachi

+0

@Malachi спасибо ! – aidan

+0

@ Malachi, что мне делать, если это дубликат? – aidan

ответ

0

простым решением является использование jQuery backstretch plugin.

$.backstretch([ 
     "http://dl.dropbox.com/u/515046/www/outside.jpg", 
     "http://dl.dropbox.com/u/515046/www/garfield-interior.jpg", 
     "http://dl.dropbox.com/u/515046/www/cheers.jpg" 
    ], {duration: 3000, fade: 750}); 

Это решение только для jQuery.

$(function() { 
    var body = $('body'); 
    var backgrounds = new Array(
     'url(https://dl.dropbox.com/u/515046/www/outside.jpg)', 
     'url(https://dl.dropbox.com/u/515046/www/garfield-interior.jpg)' 
    ); 
    var current = 0; 

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

     setTimeout(nextBackground, 10000); 
    } 
    setTimeout(nextBackground, 10000); 
    body.css('background', backgrounds[0]); 
}); 

Reference

+0

Спасибо, но я нашел что-то, что использует js, так как им не знакомы с jQuery. – aidan

0

ИМХО этот фрагмент кода поможет вам начать работу.

// get reference to body 
 
var main = document.body; 
 

 
// next two lines of code allow toggle between colors to demonstrate this example. 
 
var color = function() { 
 
    var col = "red"; 
 
    return function() { 
 
    col = (col === "red" ? "blue" : "red"); 
 
    return col; 
 
    }; 
 
}; 
 

 
var nextColor = color(); 
 

 

 
// using setTimeout instead of setInterval 
 

 
function loop() { 
 

 
    var timeoutId = setTimeout(function() { 
 
    console.log('clearing', timeoutId) 
 
    clearTimeout(timeoutId); 
 
    main.style.background = nextColor(); 
 
    loop(); 
 
    }, 1000); 
 

 
}

https://jsfiddle.net/4L4bww5r/