Sprawa wyglada tak:
* mam kilka przyciskow pod soba, po kliknieciu obok przycisku pojawia sie okienko
<button onclick="pokazOkienko( [ID], this )">pokaz okienko
</button>
* funkcja pokazOkienko:
function pokazOkienko(videoID, thisE) {
var pos = $(thisE).position();
deleteVideoDialog = $('#dialog').dialog({
position: [400, pos.top-40], // ustawia pozycje okienka obok przycisku
});
}
przygotowalem demo problemu:
<link rel="stylesheet" href="http://jqueryui.com/themes/base/jquery.ui.all.css"> <script src="http://jqueryui.com/external/jquery.bgiframe-2.1.2.js"></script> <script src="http://jqueryui.com/ui/jquery.ui.core.js"></script> <script src="http://jqueryui.com/ui/jquery.ui.widget.js"></script> <script src="http://jqueryui.com/ui/jquery.ui.mouse.js"></script> <script src="http://jqueryui.com/ui/jquery.ui.draggable.js"></script> <script src="http://jqueryui.com/ui/jquery.ui.position.js"></script> <script src="http://jqueryui.com/ui/jquery.ui.resizable.js"></script> <script src="http://jqueryui.com/ui/jquery.ui.dialog.js"></script> <link rel="stylesheet" href="http://jqueryui.com/demos/demos.css">
var currentButton;
function pokazOkienko(thisE) {
var pos = $(thisE).position();
//ostatnio klikniety przycisk
$(thisE).css('color', '#f00');
$(currentButton).css('color', '#000');
currentButton=thisE;
$('#dialog').dialog({
position: [100, pos.top-60],
});
}
<div id="dialog" style="display: none; font-size: 22px; text-align: center;">
jakas tresc okienka
dla pewnosci pokazuje jak to u mnie wyglada
czerwony kolor pokazuje ostatnio klikniety przycisk
1. duzy ekran, nie ma przewijania - dziala
http://imageshack.us/photo/my-images/594/s...exhtmlgoog.png/http://imageshack.us/photo/my-images/594/s...exhtmlgoog.png/2. maly ekran, suwak na gorze - dziala
http://imageshack.us/photo/my-images/3/scr...exhtmlgoog.png/3. maly ekran, suwak na dole - nei dziala
http://imageshack.us/photo/my-images/252/s...exhtmlgoog.png/http://imageshack.us/photo/my-images/703/s...exhtmlgoog.png/z niejasnego dla mnie powodu jquery dodaje cos od siebie do position