I had the same problem, and this is what worked for me.
Take this for what it's worth, I'm not a javascript programmer, I just started hacking away. The file that does this is here: "components\com_virtuemart\themes\default\theme.js" I simply commented out any lines that looked like they messed with the style of the vmcartmodule:
/**
* This function searches for all elements with the class name "vmCartModule" and
* updates them with the contents of the page "shop.basket_short" after a cart modification event
*/
function updateMiniCarts() {
var callbackCart = function(responseText) {
carts = $$( '.vmCartModule' );
if( carts ) {
try {
for (var i=0; i<carts.length; i++){
carts[i].innerHTML = responseText;
// color = carts[i].getStyle( 'color' );
// bgcolor = carts[i].getStyle( 'background-color' );
// if( bgcolor == 'transparent' ) {
// If the current element has no background color, it is transparent.
// We can't make a highlight without knowing about the real background color,
// so let's loop up to the next parent that has a BG Color
// parent = carts[i].getParent();
// while( parent && bgcolor == 'transparent' ) {
// bgcolor = parent.getStyle( 'background-color' );
// parent = parent.getParent();
// }
}
// var fxc = new Fx.Style(carts[i], 'color', {duration: 1000});
// var fxbgc = new Fx.Style(carts[i], 'background-color', {duration: 1000});
// fxc.start( '#222', color );
// fxbgc.start( '#fff68f', bgcolor );
if( parent ) {
// setTimeout( "carts[" + i + "].setStyle( 'background-color', 'transparent' )", 1000 );
}
}
} catch(e) {}
}
}
option = { method: 'post', onComplete: callbackCart, data: { only_page:1,page: "shop.basket_short", option: "com_virtuemart" } }
new Ajax( live_site + '/index2.php', option).request();
}
I don't get the fancy "flash" when a product is added, but at least it doesn't re-style my cart module to be unreadable like it did before. I'm using Joomla and a css -hilite style for the module, and the "flash" doesn't seem to play well with it. Hope that works for you!