Frage

Ich habe eine Schaltfläche, die ich ändern möchte, um anzuzeigen, dass er deaktiviert ist, wenn ein Benutzer darauf klickt. Es funktioniert gut in IE/FF, aber in Chrom scheint es das Hintergrundbild nicht zu finden und macht den Hintergrund nichts.

alt text

Ich mache gerade ein einfaches CSS in JQuery 1.2.6

$(".CheckoutBt").css("background-image", "url(/Portals/_default/images/buttons/checkout-end-disabled.gif)");
War es hilfreich?

Lösung

Ok, ich habe es geschafft, das Problem aufzuspüren. Wie TVANFOSSON sagte, liegt es daran, dass Webkit die Bilder nicht herunterlädt. Um dies zu umgehen

<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>

Andere Tipps

Die Art und Weise, wie ich das angehen würde, ist mit Klassen. Haben Sie einen separaten CSS -Klassen für jeden der Schaltflächenzustände und verwenden Sie einfach JQuery, um die Klasse der Taste zu ändern. Dies würde sicherstellen, dass alle Bilder tatsächlich heruntergeladen und verfügbar sind, wenn Sie die Klasse festlegen - wo ich denke, dass Chrome fehlschlägt (wahrscheinlich alle Webkit -Browser würden dies tun).

<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...
});

Verwenden Sie anstelle von "Hintergrundbild" "HintergrundImage"

Probieren Sie den vollständigen "Hintergrund", "url (/portals/_default/images/buttons/checkout-end-disabled.gif) 0 0 No-Repeat" aus.

Ich würde auch empfehlen, alle Ihre Hintergrundbilder in ein einzelnes Bild zu konsolidieren so was. Sie verwenden dann background-position Offsets, um Ihre Rollover -Effekte zu erzeugen. Sie können diese Technik noch weiter ausnutzen, indem Sie ein sehr langes Button -Bild (mit ihrem normalen und rollover -Zustand) erstellen und links und rechts sie so ausrichten, dass Sie Ihre „Schiebetüren“ erzeugen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top