Mam skrypt, który wstawia elementy "popup" do DOM. Ustawia ich właściwości css w stosunku do współrzędnych myszy w zdarzeniu kliknięcia. Działa to świetnie, z wyjątkiem tego, że wysokość tych elementów "popup" jest zmienna, a niektóre z nich wykraczają poza widoczny obszar okna przeglądarki. Chciałbym tego uniknąć.Jak wymusić umieszczenie elementów na widocznym obszarze przeglądarki?
Oto co mam tak daleko
<script type="text/javascript">
$(function() {
$("area").click(function (e) {
e.preventDefault();
var offset = $(this).offset();
var relativeX = e.pageX - offset.left;
var relativeY = e.pageY - offset.top;
// 'responseText' is the "popup" HTML fragment
$.get($(this).attr("href"), function (responseText) {
$(responseText).css({
top: relativeY,
left: relativeX
}).appendTo("#territories");
// Need to be able to determine
// viewable area width and height
// so that I can check if the "popup"
// extends beyond.
$(".popup .close").click(function() {
$(this).closest(".popup").remove();
});
});
});
});
</script>
Kochaj obraz - jak chcesz to naprawić? Czy jest krótszy? Po prostu użyj go jako obramowania? Odwróć się w przeciwnym kierunku? –
Zasadniczo po prostu chcę "spróbować", aby wymusić wszystkie zewnętrzne krawędzie elementów popup w widocznym obszarze. Na przykład. Jeśli dolna krawędź jednego z okien wyskakujących rozciąga się poza widoczny obszar o 50 pikseli, chciałbym przenieść go o 50 pikseli w górę. – jessegavin