0
我想將視差效果應用於可放置在DIV內頁面的任何位置的背景圖像。jquery視差位置計算
我試圖找到「完美」的方程式,以便在文檔滾動時完全(從上到下)看到背景圖像,同時始終充滿圖像填充DIV。
最後,我只是想要一個頁面中間的視差圖像,無論圖像高度和窗口高度如何,總是可以工作。
這裏我的腳本(它的工作原理,但我的計算不照顧完全的窗口高度和圖像高度...)
$("#inner-container").on("scroll", function() {
var scrollTop = $(this).scrollTop();
var windowHeight = $(window).height();
$('.parallax-container').each(function() {
var parallaxDivPosition = $(this).position().top;
var parallaxHeight = $(this).height();
var scrollPosition = scrollTop + windowHeight;
if (parallaxDivPosition <= windowHeight && parallaxDivPosition+parallaxHeight >= 0) {
var parallaxFactor = parallaxHeight/windowHeight;
var parallaxShift = parallaxHeight*parallaxFactor;
var parallaxImgPos = parallaxDivPosition-windowHeight;
var imagePosition = Math.round(parallaxImgPos-parallaxShift)*0.2;
$(this).children().css('-webkit-transform', 'translate3d(0px, '+imagePosition+'px, 0px)');
}
})
})
這裏提琴:http://fiddle.jshell.net/uccE4/12/