我有一個div,它基本上只是透過圖像的特定部分作爲其背景圖像的遮罩。用背景圖像從右至左動畫一個div
背景圖像對齊到右側。我試圖從右到左動畫backgroundPosition,但動畫會自動將背景位置重置爲左側(或者非常接近左側 - 我無法完全弄清楚位置來自哪裏)。
有什麼辦法可以解決這個問題嗎?
示例代碼:http://jsfiddle.net/QRkLr/
(請注意,當動畫觸發時,背景圖像與右側不完全對齊)。
我有一個div,它基本上只是透過圖像的特定部分作爲其背景圖像的遮罩。用背景圖像從右至左動畫一個div
背景圖像對齊到右側。我試圖從右到左動畫backgroundPosition,但動畫會自動將背景位置重置爲左側(或者非常接近左側 - 我無法完全弄清楚位置來自哪裏)。
有什麼辦法可以解決這個問題嗎?
示例代碼:http://jsfiddle.net/QRkLr/
(請注意,當動畫觸發時,背景圖像與右側不完全對齊)。
你的面具的初始X位置必須是一個數字,而不是「正確的」。如果我沒有弄錯,則從左邊計算分配給background-position
的任何數字(百分比或像素)。
所以我的修補程序:保持CSS:background-position: top right;
,但隨後的動畫之前,計算從左邊所需的初始x位置,然後動畫回到0(左):
$("#image").css({backgroundPositionX: -large_left_border})
.animate({backgroundPositionX: 0}, 1500);
編輯
底線:background-position-x
沒有Firefox支持和.animate()
僅適用於數字CSS屬性(所以它ð因爲它不是一個單一的數字,所以它沒有在background-position
上工作),所以沒有標準的jquery方法來實現這一點。
然而,正如@thirtydot指出here,有實現上background-position
動畫插件:http://www.protofunc.com/scripts/jquery/backgroundPosition/
你可以爲背景的靜態位置,並沒有改變它時,DIV移動 – Mikhail 2012-02-20 18:34:30
@Mikhail我不太清楚你的意思。我將如何應用? – kylex 2012-02-20 18:38:12
@kylex你能深入解釋一下你希望達到的目標嗎?你是否希望讓面具向左走,直到它不再被看到? – Wasbazi 2012-02-20 18:43:29