reatachi_kun
@reatachi_kun
Анимееешкиии :333

Как сделать плавную смену фона только на JS?

Имеется код JS смены фона на сайте каждые 5 сек. но меняется он РЕЗКО | Мне нужно сделать так что- бы он менялся плавно. Мне нужно именно JS, НЕ CSS и HTML, а именно JS. Спасибо за понимание и заранее за помощь

$(function() {
  var body = $('body');
  var backgrounds = ['url(http://wallpaperscraft.ru/image/abstraktsiya_svet_neon_blesk_97687_1920x1080.jpg)', 'url(http://www.nastol.com.ua/pic/201110/1920x1080/nastol.com.ua-8536.jpg)', 'url(http://hq-oboi.ru/photo/sumasshedshaya_abstrakciya_1920x1080.jpg)', 'url(http://www.motto.net.ua/pic/201209/1920x1080/motto.net.ua-18073.jpg)', 'url(http://rewalls.com/pic/201110/1920x1080/reWalls.com-50910.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]);
 });
  • Вопрос задан
  • 3057 просмотров
Решения вопроса 1
Menlod
@Menlod
Front-end developer
jsfiddle.net/jv8q3u0L примерно так можно организовать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@GreatRash
Как вы себе представляете плавную смену урла?
Ответ написан
@Wheelie
Попробуйте
body.animate(); вместо .css();
Ответ написан
ninetwgb
@ninetwgb
Живу
<script type="text/javascript" src="js/changebackground.js"></script>

	<div id="container" style="">
	<!-- Блок с бэкграундом, фон динамический changebackground.js-->	
	</div>


window.onload = function changebg(){
	
	var path = "url(images/background/";
	var ext = ".jpg)";
	var backs = [];
		
	for(var i = 1; i <= 9; i++){
		var fileNum = ('00' + i).substr(-3);
		var fullPath = path + fileNum + ext;
		backs.push(fullPath);
	}
	
	var randomImg = Math.floor(Math.random() * backs.length);
		
	document.getElementById('container').style.background = (backs[randomImg]);
	document.getElementById('container').style.backgroundSize = "cover";
	document.getElementById('container').style.backgroundRepeat = "no-repeat";
	
	setInterval(changebg, 2000);


условие: изображения должны лежать в (images/background) и обзываться 001.jpg, 002.jpg .... 0xx.jpg
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы