我正在使用此功能:
$(window).bind('load resize scroll',function(e) {
var y = $(window).scrollTop();
$('.tm-parallax').filter(function() {
return $(this).offset().top < (y + $(window).height()) &&
$(this).offset().top + $(this).height() > y;
}).css('background-position', '50% ' + parseInt(-y / 50) + 'px');
});
在向下滚动时实现对背景图像的视差效果。
我想将y位置限制为特定值(例如100px),因此背景图像中心在达到此值后仍然可见。
以下是代码:http://jsfiddle.net/esedic/vw2n16r8/4/
因为bakcground图像非常大,所以最好在全屏上看到:https://jsfiddle.net/esedic/vw2n16r8/4/embedded/result/
因为我在多个元素上使用视差背景图像,我正在寻找为每个元素设置不同值的解决方案(可能使用数据属性?)。
感谢您的帮助!
答案 0 :(得分:-3)
你应该尝试颠倒它的极性,但试试这个:
$(window).bind('load resize scroll',function(e) {
var y = $(window).scrollTop();
$('.tm-parallax').filter(function() {
if have return $(this).onset().top < (y + $(window).height()) &&
$(this).onset().top + $(this).height() > y;
}).css('background-position', '50% ' + parseInt(-y / 50) + 'px');
});