$ (“Body”). ScrollTop () não atualiza no safari
Eu estou trabalhando em um site:
o corpo tem várias imagens de fundo que são atualizadas no pergaminho assim:
$(document).ready(function(){
$(document).scroll(function(){
var scrollfactor=$("body").scrollTop()*0.2;
var centerscrollpos =scrollfactor+613;
var docheight = $(document).height();
var windowheight = $(window).height();
var bottompos = (docheight-980)-((docheight-windowheight)*0.2)+scrollfactor;
var scrollpos = 'center '+scrollfactor+'px,center '+bottompos+'px, center '+ centerscrollpos+'px,center 0px';
$("body").css("background-position", scrollpos);
});
});
Muitos cálculos, mas o importante é que seja criado um scrollpos que deve alterar a posição do plano de fundo quando você rolar, para criar um efeito de paralaxe. Funciona muito bem no chrome, mas no firefox, a variável scrollfactor, que é suposto obter a posição de rolagem atual, não é atualizada.
ps, algumas pessoas têm esse problema devido à falta de doctype correto. Eu acredito que eu tenha declarado corretamente assim:
<!DOCTYPE html>