我正在尝试让我的背景跟随鼠标,并且它在Y轴上成功运行,但是由于某种原因而不会跟随X轴。关于我如何获得X背景的任何建议?

例如参见小提琴

https://jsfiddle.net/7dkj6beo/

的CSS

.banner{
  text-align: center;
  background-image: url('http://maxpixel.freegreatpicture.com/static/photo/1x/Graphic-Spotlight-Material-Background-Texture-1988180.jpg');
  background-position: 50% 50%;
  background-size: cover;
  padding: 200px 0;
}

h1{
  color: #FFF;
}


JS

$('.banner').mousemove(function(e){
    var amountMovedX = (e.pageX) / 5;
    var amountMovedY = (e.pageY) / 5;
    $(this).css('background-position', amountMovedX + '% ' + amountMovedY + '%');
  });

最佳答案

一些小的变化:

.banner{
text-align: center;
background-image: url('http://maxpixel.freegreatpicture.com/static/photo/1x/Graphic-Spotlight-Material-Background-Texture-1988180.jpg');
background-position: 50% -20%;
background-size: 120%;
background-attachment: fixed;
padding: 200px;
}




$('.banner').mousemove(function(e){
var amountMovedX = (e.pageX) / 5;
var amountMovedY = (e.pageY) * -3;
$(this).css('background-position', amountMovedX + '% ' + amountMovedY + '%');
});


如果继续进行操作,并且将背景尺寸设为120%,并以负的Y值开头,那么您可以放心地将(X / 5,Y * -2)用作坐标,并且坐标会更加平滑,只需确保你有一个很好的高分辨率图像。

如果有人向侧面倾斜太远,这也将防止显示图像的边缘。

关于javascript - 跟随Y轴但不跟随X轴的Mousemove背景,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42587468/

10-10 13:55