Dies ist auf den von Yi Jiang und Panayiotis oben angegebenen Informationen basieren, und die jquery ui button sample code:
Wie ich eine frühere JSP-Anwendung wurde die Migration, die eine Symbolleiste mit Bildern pro Button hatte ich in das Bild haben wollte die Schaltfläche Deklaration selbst, anstatt eine separate Klasse für jede Symbolleistenschaltfläche zu erstellen.
<div id="toolbarDocs" class="tableCaptionBox">
<strong>Checked Item Actions: </strong>
<button id="btnOpenDocs" data-img="<s:url value="/images/multi.png"/>">Open Documents</button>
<button id="btnEmailDocs" data-img="<s:url value="/images/email.png"/>">Attach to Email</button>
</div>
Natürlich gab es viel mehr Tasten als nur die beiden oben. Der s-Tag ist über einen struts2 Tag, aber man konnte es nur mit einem beliebigen URL ersetzen
<button id="btnOpenDocs" data-img="/images/multi.png">Open Documents</button>
Das folgende Skript sucht nach dem Attributdatum-img vom Button-Tag, und setzt dann, dass als Hintergrundbild für die Taste.
Es setzt vorübergehend ui-icon-bullet (irgendeinen beliebigen vorhandenen Stil), der später geändert wird.
Diese Klasse definiert den temporären Stil (besser, um weitere Selektoren für die spezifische Symbolleiste hinzuzufügen, wenn Sie diesen verwenden möchten, so dass der Rest Ihrer Seite davon unberührt bleibt).Das aktuelle Bild wird durch das folgende Javascript ersetzt:
button.ui-button .ui-icon {
background-image: url(blank.png);
width: 0;
height: 0;
}
und die folgende Javascript:
$(document).ready(function() {
$("#toolbarDocs button").each(
function() {
$(this).button(
{ text: $(this).attr('data-img').length === 0? true: false, // display label for no image
icons: { primary: "ui-icon-bullet" }
}).css('background-image', "url(" + $(this).attr('data-img') +")")
.css('background-repeat', 'no-repeat');
});
});
Das hat für mich funktioniert. Beachten Sie, dass Sie auch Sprites verwenden können. –
@RobOsborne Wie können Sie Sprite verwenden? es funktioniert nicht für mich –
Danke! Ist dies in den jquery-ui-Dokumenten dokumentiert? Ich kann es nirgends erwähnt finden. – shimizu