我有一個按鈕,我想更改背景以顯示當用戶單擊它時禁用它。它在IE/FF中工作正常,但在Chrome瀏覽器中似乎無法找到背景圖像並使背景無效。谷歌瀏覽器中的JQuery無法找到背景圖片
我只是做一個簡單的CSS jQuery的1.2.6
$(".CheckoutBt").css("background-image", "url(/Portals/_default/images/buttons/checkout-end-disabled.gif)");
我有一個按鈕,我想更改背景以顯示當用戶單擊它時禁用它。它在IE/FF中工作正常,但在Chrome瀏覽器中似乎無法找到背景圖像並使背景無效。谷歌瀏覽器中的JQuery無法找到背景圖片
我只是做一個簡單的CSS jQuery的1.2.6
$(".CheckoutBt").css("background-image", "url(/Portals/_default/images/buttons/checkout-end-disabled.gif)");
好吧,我設法追查到這個問題。正如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>
設置我會解決,這是帶班的方式。爲每個按鈕狀態分別設置一個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...
});
我已經嘗試過類,它也做同樣的事情。 – Alex 2009-03-04 04:19:24
如果「clicked」類是默認類,那麼它工作嗎?例如,您是否看到正確的背景?只是試圖縮小它是否是導致問題的替換或實際圖像。 – tvanfosson 2009-03-04 04:26:25
嘗試完整的 「背景」, 「URL(/Portals/_default/images/buttons/checkout-end-disabled.gif)0 0不重複」。
而不是「背景圖像」使用「backgroundImage」
我也建議合併所有的背景圖片爲一個圖像like this同時加載圖像。然後使用background-position
偏移量來完成翻轉效果。您可以通過製作非常長的按鈕圖像(包括其正常和翻轉狀態)並左右對齊以產生「滑動門」來進一步利用此技術。
我也試過jquery 1.3.2,它沒有區別 – Alex 2009-03-04 03:59:40