2014-02-13 32 views
2

我正在修改背景位置的頁面上創建視差,並且只要我希望所有背景都從零開始,我就可以工作。問題是我不希望他們都從零開始。有些人有預先確定的開始職位,但我無法弄清楚如何從現有職位增加/減少每個職業實例的背景職位。你可以在我的代碼中看到我有一行可以檢索當前位置的行,但是每次我嘗試使用該編號修改位置時,都會在圖像飛到各處時發出瘋狂的結果。下面是我有:Jquery從現有的每個類實例修改背景位置?

jQuery(document).ready(function($){ 
    $(window).scroll(function(){ 
     currentoffset = $(this).scrollTop(); 
     slowOff = Number(currentoffset)/3; 

     $(".full_width_img").each(function() { 
      //bgPosition = $(this).css('backgroundPosition').split(" "); 
      $(this).css('background-position', '50% -' + slowOff + "px"); 
     }); 
    }); 
}); 

我怎樣才能找回那麼每個實例的背景位置屬性相對於每個人的現有位置更新?

添加jfiddle鏈接: http://jsfiddle.net/79k8R/

+0

你能舉個演示嗎? – Will

+0

我試圖拉掉這個:http://www.gamesradar.com/lightning-returns-final-fantasy-xiii-review/ – HeroicNate

+0

我明白你要去的效果,但我的意思是「我有什麼到目前爲止「演示jsfiddle或人們可以黑客幫助你的東西。我不知道任何明顯的方法來解決您的問題,我不傾向於重新創建所有嘗試提供幫助。但是,如果它已經在一個小提琴... – Will

回答

0

這裏有一個邏輯錯誤。在「每個」循環中,您可能需要調整每個圖像的背景位置(Y)。我添加了(slowOff-240 *索引),而不僅僅是「showOff」,這看起來更好。但你可以根據你的需要隨時調整它,使它變得美麗。請看這個小提琴http://jsfiddle.net/LZhAL/

jQuery(document).ready(function($){ 
    $(window).scroll(function(){ 
     currentoffset = $(this).scrollTop(); 
     slowOff = Number(currentoffset)/3; 

     $(".full_width_img").each(function(index) { 
      //bgPosition = $(this).css('backgroundPosition').split(" "); 
      $(this).css('background-position', '50% -' + (slowOff-240*index) + "px"); 
     }); 
    }); 
});