$ („Body”). ScrollTop () nie aktualizuje się w safari
Pracuję na stronie internetowej:
ciało ma kilka obrazów tła, które są aktualizowane na przewijanie w ten sposób:
$(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);
});
});
Wiele obliczeń, ale ważne jest to, że tworzone jest scrollpos, które powinno zmienić położenie tła podczas przewijania, aby utworzyć efekt paralaksy. Działa świetnie w chrome, ale w firefox zmienny scrollfactor, który ma uzyskać bieżącą pozycję przewijania, nie aktualizuje się.
ps, niektórzy ludzie mają ten problem z powodu braku poprawnego doctype. Wierzę, że zadeklarowałem to poprawnie:
<!DOCTYPE html>