jQuery 鼠标移动时的视差移动元素
jQuery parallax moving element on mouse move
我有个小问题。在我的代码中,鼠标移动事件还会在 X 轴和 Y 轴上移动元素。我想要的是让元素只在X轴上移动,并停留在页面底部。
我尝试使用 Y 轴命令删除所有字符串,它停止在 Y 轴上移动元素但将元素居中 - 这是主要问题,我希望它留在底部。
$(document).ready(function() {
var movementStrength = 25;
var height = movementStrength / $(window).height();
var width = movementStrength / $(window).width();
$("#top-image").mousemove(function(e){
var pageX = e.pageX - ($(window).width() / 2);
var pageY = e.pageY - ($(window).height() / 2);
var newvalueX = width * pageX * -1 - 25;
var newvalueY = height * pageY * -1 - 50;
$('#top-image').css("background-position", newvalueX+"px "+newvalueY+"px");
});
});
谢谢。
我不确定我是否理解您的确切意图,但我认为您是想将#top-image div 保留在页面底部?如果是,您将使用这条线将其置于 y 轴的中心:
var pageY = e.pageY - ($(window).height() / 2);
var newvalueY = height * pageY * -1 - 50;
如果你想要它在底部,它应该是这样的:
var newValueY = e.pageY - yourImageHeight;
但是,如果您使用的是背景位置,为什么不设置背景位置 x,并保持背景位置 y 不变?
$('#top-image').css("background-position-x", newvalueX + "px");
我有个小问题。在我的代码中,鼠标移动事件还会在 X 轴和 Y 轴上移动元素。我想要的是让元素只在X轴上移动,并停留在页面底部。
我尝试使用 Y 轴命令删除所有字符串,它停止在 Y 轴上移动元素但将元素居中 - 这是主要问题,我希望它留在底部。
$(document).ready(function() {
var movementStrength = 25;
var height = movementStrength / $(window).height();
var width = movementStrength / $(window).width();
$("#top-image").mousemove(function(e){
var pageX = e.pageX - ($(window).width() / 2);
var pageY = e.pageY - ($(window).height() / 2);
var newvalueX = width * pageX * -1 - 25;
var newvalueY = height * pageY * -1 - 50;
$('#top-image').css("background-position", newvalueX+"px "+newvalueY+"px");
});
});
谢谢。
我不确定我是否理解您的确切意图,但我认为您是想将#top-image div 保留在页面底部?如果是,您将使用这条线将其置于 y 轴的中心:
var pageY = e.pageY - ($(window).height() / 2);
var newvalueY = height * pageY * -1 - 50;
如果你想要它在底部,它应该是这样的:
var newValueY = e.pageY - yourImageHeight;
但是,如果您使用的是背景位置,为什么不设置背景位置 x,并保持背景位置 y 不变?
$('#top-image').css("background-position-x", newvalueX + "px");