+1  A: 

The way I would tackle this is with classes. Have a separate CSS classes for each of the button states, then simply use jQuery to change the class of the button. This would ensure that all of the images are actually downloaded and available when you set the class -- which is where I think Chrome is failing (probably all WebKit browsers would do this).

<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...
});
tvanfosson
I have tried with classes as well and it does the same thing.
Alex
Does it work if the "clicked" class is the default class, i.e., do you see the correct background, then? Just trying to narrow down whether it is the replacement or the actual image that is causing the problem.
tvanfosson
If clicked is the default it shows the clicked images
Alex
A: 

Try the full "background", "url(/Portals/_default/images/buttons/checkout-end-disabled.gif) 0 0 no-repeat".

tom
+1  A: 

Instead of "background-image" use "backgroundImage"

Hemanshu Bhojak
+3  A: 

Ok i've managed to track down the problem. As tvanfosson said it is because WebKit isn't downloading the images. To get around this i just load both images in the unclicked class

<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>
Alex
That's handy too seeing as only WebKit (currently) supports multiple background images.
alex
A: 

I would also suggest consolidating all your background images into a single image like this. You then use background-position offsets to do your rollover effects. You can exploit this technique even further by making a very long button image (with both its normal and rollover state in it) and left and right align it to produce your 'sliding doors'.

Soviut