0

我是jQuery的新手,我在嘗試獲取某些工作時遇到了一些麻煩。使用jQuery切換背景位置

基本上我有一個wordpress網站,在每個頁面上都是body標籤的不同背景圖片。我希望能夠在一個按鈕上切換,然後在主體背景圖像上放大約500px。

基本上我有一個隱藏的接觸面積,在我的頁面的頂部,當你點擊按鈕(a.contact)隱藏的接觸面積(#contactArea)通過從頂部落下透露,但是當contactArea下降一些我的背景圖像被隱藏,直到你再次點擊按鈕。

我想要實現的是當隱藏的contactArea被揭示時,背景圖像會丟棄(仍然完全可見),以便背景圖像始終可見。我希望這是有道理的?!

我的CSS代碼:

body.page.page-id-240 { 
    background:url(images/main-home-bg.jpg) center 600px no-repeat; 
} 

我現在的jQuery是:

$(window).load(function() { 
    $("#contactArea").css('height', '0px'); 

    $("a.contact").toggle( 
     function() { 
      $("#contactArea").animate({ height: "225px" }, { queue:false, duration: 500, easing: 'linear' }) 
     }, 
     function() { 
      $("#contactArea").animate({ height: "0px" }, { queue:false, duration: 500, easing: 'linear' }) 
     } 
    ); 
}); 

如果有人可以幫助將不勝感激! :-)

+0

你能不能把你的背景圖像上#contactArea? – Jon 2012-02-07 11:04:07

+0

感謝您的幫助。 - 否,因爲背景圖像是分配給body元素的類(.page)。 contactArea部分工作正常,它只是隱藏了一些body的背景圖像,我試圖讓contactArea在切換時下拉身體背景圖像。 – PK333 2012-02-07 12:03:48

回答

0

試試這個:

$("a.contact").toggle( 
    function() { 
     $("#contactArea").animate({ height: "225px" }, { queue:false, duration: 500, easing: 'linear' }) 
     $("body.page.page-id-240").animate({ backgroundPosition: "center 825px" }); 
    }, 
    function() { 
     $("#contactArea").animate({ height: "0px" }, { queue:false, duration: 500, easing: 'linear' }) 
     $("body.page.page-id-240").animate({ backgroundPosition: "center 600px" }); 
    } 
); 
+0

嗨Rory McCrossan 感謝您的幫助,我嘗試了您的建議,但是背景圖片仍然沒有在切換上移動。我不需要在body元素中添加body類(.page.page-id-240)嗎? – PK333 2012-02-07 12:00:53

+1

是的,你說得對。我有一個大腦褪色。我已經更新了答案。 – 2012-02-07 12:04:27

+0

嘗試了你的建議,但仍然沒有看。 contactArea顯示時,身體圖像仍不會移動。不知道我做錯了什麼 - 讓我瘋狂。你認爲有可能有兩個身體類別,並切換到不同的類別會顯示出來。所以你會有:class1)body.page.page-id-240 {background:url(images/main-home-bg.jpg)center 600px no-repeat; }然後是class2)body.page.page-id-240 {background:url(images/main-home-bg.jpg)center 900px no-repeat; } – PK333 2012-02-07 12:39:06