我正在尝试在网站上实现视差滚动效果(使用Smashing Magazine 中的本教程)。视差效果运行良好,但我需要让其中一个精灵在到达某个点时停止滚动。默认情况下,它会继续滚动,直到看不见为止。
视差效果通过动画元素的背景位置来工作。我正在尝试使用以下代码获取动态背景位置:
jQuery(function($) {
var elem = $("#heart-box");
var backgroundPos = $(elem).css("backgroundPosition").split(" ");
var xPos = backgroundPos[0],
yPos = backgroundPos[1];
$(window).scroll(function() {
console.log(yPos);
if ( yPos >= 210 ) {
$(elem).hide();
}
});
});
相反,仅返回起始位置,如 CSS 中定义的那样,并且在页面滚动时不会在控制台日志中更改。
当页面滚动时,背景 Y 位置会动态改变 - 其范围大约是 -200px 开始,到 400px 结束。当背景 Y 位置达到 210px 时,我希望元素具有 210px 的固定背景位置,而不是一直滚动。
任何帮助都会很棒。谢谢。