Ich möchte die Überlagerung eines jQuery-Dialogfelds zu einem Bild festlegen, und scheint nicht die Aufgabe zu verwalten.Einstellung Dialogfeld Overlay Jquery
Ich habe andere Dialoge auf den Seiten, die ich nicht die Hintergrundbilder haben möchte, so dass die CSS für den Overlay-Hintergrund einstellen wird nicht als umfassende Lösung arbeiten.
Ich habe viele verschiedene Methoden ausprobiert, und ich glaube, es gibt ein Timing-Problem mit der Anwendung des Befehls jQuery, um das Overlay mit CSS und die tatsächlichen Dialog divs und css zum DOM hinzugefügt werden.
Hier ist was ich bisher versucht habe.
$('#submitUpload').click(function(){
$("#uploadStart").dialog('open');
$(".ui-widget-overlay").css({'background-image': 'url("http://www.mydomain.com/images/ftp-page-bg.gif")','opacity':'1'})
$("#uploadForm").submit();
});
ODER
$("#uploadStart").dialog({
autoOpen: false,
width: 400,
modal: true,
closeOnEscape: false,
draggable: false,
resizable: false,
open: function(event, ui) {
$(".ui-dialog-titlebar-close").hide();
$(".ui-widget-overlay").css({'background-image': 'url("http://www.mydomain.com/images/ftp-page-bg.gif")','opacity':'1'})
}
});
Ich habe auch versucht ohne Erfolg die dialogClass Methode im Dialogcode.
Mit der absoluten URL und der relativen und der URL in Anführungszeichen oder ohne Anführungszeichen.
Das Bild existiert im Verzeichnis.
Haben Sie irgendwelche Ideen, wie Sie jQuery mit dem richtigen Timing anwenden können, um das Bild als Overlay anzuzeigen?
Danke!
aktualisieren
Der Dialog Klassenbezeichnung ermöglicht es Ihnen, Klassen für die overal Dialog zu setzen. Ich wollte eigentlich nur auf die spezifische ui-widget-overlay-Klasse tippen und das Hintergrundbild dort übersteuern. Ich habe festgestellt, dass das Überschreiben des Hintergrunds mithilfe der dialogClass zum Überschreiben des Hintergrunds des Dialogfelds und nicht zum Überlagern des Hintergrunds verwendet wurde.
Wenn das Dialogfeld zum DOM hinzugefügt wird, lädt jQuery seine Divs direkt vor dem Body-Tag.
fand ich eine Lösung, die für den Dialog in der offenen Methode zu sein, ich
$(".ui-widget-overlay").addClass('artFTP');
eine Klasse
.artFTP{background-image: url(../../images/ftp-page-bg.gif); opacity:1;}
und sorgte dafür, dass es war die letzte Klasse in der Datei hinzuzufügen, verwendet Das würde das Overlay-Hintergrundbild überschreiben.
Ich hoffe, das hilft jemandem.
Danke und +1 zu jjross, Ihre Antwort brachte mich dazu, in die jQuery-Dokumentation zurückzuspringen.
Wenn jemand eine bessere Lösung hat, bitte posten. Ich würde mich freuen, es zu sehen. Ich denke, es könnte einen Weg geben, CSS zu benutzen, um die Aufgabe zu erfüllen, aber (für das Leben von mir) konnte es nicht herausfinden.
Vielen Dank für die große Erklärung und mögliche Antworten, aber keine der oben genannten gearbeitet. Ich habe die Lösung gefunden und die Frage aktualisiert. Vielen Dank! –