Może zarzucę kodem i opisze go gdyż kod dotyczy elementu z MS Ajax Framework i niektóre funkcje mogą być dla niektórych niezrozumiałe:
<script type="text/javascript" language="javascript">
function pageLoad() { // -wykonanie skrypyu po załadowaniu strony
// call the savePanelPosition when the panel is moved
$find('DragP1').add_move(savePanelPosition); //-ustawienie pozycji dla elementu drop-down po przesuwanięciu diva z funkcji savePanelPosition;
var elem = $get("<%=HiddenField1.ClientID%>");
if (elem.value != "0") {
var temp = new Array();
temp = elem.value.split(';');
// set the position of the panel manually with the retrieve value
$jq("#BoxKosz").css('top', temp[1]+"px"); //ustawienie pozycji top po przesunięciu
$jq("#BoxKosz").css('left', temp[0] + "px"); //ustawienie pozycji left po przesunięciu;
}
}
// kluczowa funkcja odpowiedzialna za pobranie i ustawienie pozycji diva i "elementu" drop down ściśle sprzężonego z nim
function savePanelPosition() {
var elem = $find('DragP1').get_element(); //-pobieranie właściwości elementu odpowiedzialnego za drop-down
var loc = $common.getLocation(elem); //-pobranie aktualnej pozycji elementu;
var elem1 = $get("<%=HiddenField1.ClientID%>");
// zapis pozycji do hidden fielda
elem1.value = loc.x + ';' + loc.y;
}
</script>
Element drop down którego używam ,jest przystosowany dla elementów z position absolute,nie wiem jak przerobić ten skrypt ,aby wyliczał pozycję względem rozdzielczości dla position fixed.Nie mogę użyć dla tego elementu drop down e.offsetX ,bo takiej metody nie ma ,muszę to jakoś wyliczyć i ustawić pozycję dla elementu drop-down jak i diva.