我正在为我这边的一些元素进行简单的视差效果:
$(window).on('scroll', function() {
var scrollTop = $(this).scrollTop();
var offsetTop = $('.parallax').offset().top();
var offsetBy = ((scrollTop - offsetTop) * .5).toFixed(0);
window.requestAnimationFrame(function() {
$('.parallax').css('--parallax', offsetBy + 'px');
}
});
这会更新.parallax
元素的位置,例如每秒60次。我已经阅读了其他教程,他们也建议使用setInterval
。有没有意义这样做,因为window.requestAnimationFrame
已经限制了动画被调用的时间?