CSS: Как плавно изменять бэкграунд?
bx-slider хорошо подойдет
Вот вариант для смены фона, но только не будет так плавно. 
Создаете несколько классов: elements1, elements2 elements3 с фоном который вам нужен. <div id="elements" class="elementX ">$(function(){
  var div = document.getElementById('elements');
  var count = 0;
  setInterval(function() {
    if ( count == 0 ) $( div ).removeClass( 'element3' );
    $( div ).removeClass( 'element'+count );
    count++;
    $( div ).addClass( 'element'+count );
    if ( count==3 ) count = 0;
  }, 2000);
});