Ich verwende die JQuery-Benutzeroberfläche und möchte mein Dialogfeld horizontal zentriert, aber vertikal über der Mitte positionieren, möglicherweise um eine feste Pixelanzahl oder einen relativen Abstand vom oberen Rand der Seite. Gibt es einen einfachen Weg, dies zu tun? Es sieht so aus, als gäbe es nur ein paar vordefinierte Werte oder ich kann eine genaue Position verwenden, aber gibt es eine einfache Möglichkeit, dies zu erreichen?
$("#dialog-form").dialog({
autoOpen: false,
width: 630,
position: 'center',
modal: true,
resizable: false,
closeOnEscape: false
});
Verwenden Sie die Option position , um den oberen Rand des Dialogs am oberen Rand des Fensters (plus Pixel- oder Prozentversatz) auszurichten.
Dies sollte den Dialog horizontal zentrieren und 150 Pixel von oben positionieren.
$("#dialog-form").dialog({
autoOpen: false,
width: 630,
position: { my: 'top', at: 'top+150' },
modal: true,
resizable: false,
closeOnEscape: false
});
Ältere Versionen von jQuery UI verwendeten ein Array, das ein [x, y] -Koordinatenpaar in Pixelversatz von der linken oberen Ecke des Ansichtsfensters enthält (z. B. [350,100]).
var dialogWidth = 630;
$("#dialog-form").dialog({
// ...
width: dialogWidth,
position: [($(window).width() / 2) - (dialogWidth / 2), 150],
// ...
});
Das hat bei mir funktioniert
position: { my: "center", at: "center", of: window },
Sie können hier auch die Dialogpositionen überprüfen
Position finden
ich bin auf diese Frage gestoßen, als ich nach der gleichen Frage suchte, aber ich hatte bereits meine Antwort:
position: ['center', 'top+100']
dies wird horizontal zentriert und 100 Pixel von oben
das funktioniert auch
position: ['center', 'center+100']
horizontal zentrieren und 100 Pixel von unterhalb zentrieren
Ich habe die Antwort von Exlord angepasst.
Position: ["Mitte-7%", "Mitte-12%"]
Dies passt sich horizontal und vertikal an
$(".popup").dialog({
position: ['center-7%', 'center-12%'],
title: 'Updating',
width: "auto",
}
});
Versuche dies:
position: {
my: 'top',
at: 'top',
of: $('#some-div')
},
Wenn jemand einen Link erstellt, der ein jQuery-Dialogfeld öffnet, weil der Link class einen Click-Event-Handler hat, werden Sie may bemerken, dass er möglicherweise an den oberen Rand der Seite springt Erstellen Sie den modalen Dialog weiter unten auf der Seite und Sie müssen dorthin scrollen.
Wenn jemand nur versucht, das jQuery-Dialogfeld daran zu hindern, nach oben zu springen, und möchte, dass es in der Nähe des von Ihnen angeklickten Links bleibt, entfernen Sie einfach href
. Fast wahnsinnig versucht, dies zu lösen. Die HTML5-Spezifikation versteht anscheinend href=""
oder href="#"
bedeutet nach oben gehen.
position: {
my: 'top',
at: 'top+150'
}
Arbeitete für mich.