В примере, который вы опубликовали, используется матрица трансформаций CSS, чтобы изменить положение фонового слоя. Изображение должно быть центрировано, поэтому вы не можете перемещать его, изменив правое и левое положение фонового изображения.
Вы должны отобразить слой с абсолютным положением, покрывающим экран с пометкой, но с низким индексом z, чтобы служить фоном. На мыши сдвиньте положение слоя сдвига с помощью свойства css transform.
var maxMove = 10;
var d = $(window);
var bg = $("#bg");
bg.width(d.width()+maxMove*2).height(d.height()+maxMove*2).css('top','-' + maxMove + 'px').css('left','-' + maxMove + 'px');
$(window).mouseleave(function(){
//bg.css('transform','matrix(1, 0, 0, 1, 0, 0)');
});
$(document).mousemove(function(event) {
var xPos = event.pageX;
var yPos = event.pageY;
var w = d.width();
var h = d.height();
var xShift = ((w/2 - xPos)/w*2)*maxMove;
var yShift = ((h/2 - yPos)/h*2)*maxMove;
$("#log").text(xShift);
bg.css('transform','matrix(1, 0, 0, 1, ' + xShift + ', ' + yShift + ')');
});
Конечно, не забывайте CSS:
#bg{
position:absolute;
background:url(http://lorempixel.com/output/city-q-c-1861-1370-1.jpg) center center no-repeat;
z-index:-1;
}
body{
padding:0;
margin:0;
overflow:hidden;
}
Заканчивать detailed tutorial и демо.
Читайте о Css Трансформации Матрица here
отлично! Спасибо! – paul