2009-03-04 84 views
4

我有一個按鈕,我想更改背景以顯示當用戶單擊它時禁用它。它在IE/FF中工作正常,但在Chrome瀏覽器中似乎無法找到背景圖像並使背景無效。谷歌瀏覽器中的JQuery無法找到背景圖片

alt text

我只是做一個簡單的CSS jQuery的1.2.6

$(".CheckoutBt").css("background-image", "url(/Portals/_default/images/buttons/checkout-end-disabled.gif)"); 
+0

我也試過jquery 1.3.2,它沒有區別 – Alex 2009-03-04 03:59:40

回答

5

好吧,我設法追查到這個問題。正如tvanfosson所說,這是因爲WebKit沒有下載圖像。爲了解決這個問題,我只是在未點擊類

<style> 
.unclicked { 
background-image: url('/Portals/_default/images/buttons/checkout-end-disabled.gif'); 
background-image: url('/Portals/_default/images/buttons/checkout-end.gif'); 
} 
.clicked { 
    background-image: url('/Portals/_default/images/buttons/checkout-end-disabled.gif'); 
} 
</style> 
1

設置我會解決,這是帶班的方式。爲每個按鈕狀態分別設置一個CSS類,然後使用jQuery來改變按鈕的類。這將確保所有的圖像實際上下載並可用,當你設置類 - 這是我認爲鉻失敗(可能所有的WebKit瀏覽器會這樣做)。

<style> 
.unclicked { 
... 
} 
.unclicked :hover { 
... 
} 
.clicked { 
    background-image: url('/Portals/_default/images/buttons/checkout-end-disabled.gif'); 
} 
</style> 
... 
$(".CheckoutBt").click(function() { 
    $(this).removeClass('unclicked').addClass('clicked'); 
    ...do what ever action... 
}); 
+0

我已經嘗試過類,它也做同樣的事情。 – Alex 2009-03-04 04:19:24

+0

如果「clicked」類是默認類,那麼它工作嗎?例如,您是否看到正確的背景?只是試圖縮小它是否是導致問題的替換或實際圖像。 – tvanfosson 2009-03-04 04:26:25

0

嘗試完整的 「背景」, 「URL(/Portals/_default/images/buttons/checkout-end-disabled.gif)0 0不重複」。

1

而不是「背景圖像」使用「backgroundImage」

0

我也建議合併所有的背景圖片爲一個圖像like this同時加載圖像。然後使用background-position偏移量來完成翻轉效果。您可以通過製作非常長的按鈕圖像(包括其正常和翻轉狀態)並左右對齊以產生「滑動門」來進一步利用此技術。