Jak pobrać i ustawić pozycję elementu .offsetmetodą jQuery ?
Powiedzmy, że mam element DIV layer1i inny layer2. Jak mogę uzyskać pozycję layer1i ustawić tę samą pozycję layer2?
Jak pobrać i ustawić pozycję elementu .offsetmetodą jQuery ?
Powiedzmy, że mam element DIV layer1i inny layer2. Jak mogę uzyskać pozycję layer1i ustawić tę samą pozycję layer2?
Odpowiedzi:
//Get
var p = $("#elementId");
var offset = p.offset();
//set
$("#secondElementId").offset({ top: offset.top, left: offset.left});
offsetobiekt, aby //setwyglądał następująco: $("#secondElementId").offset(offset)
Polecam inną opcję. Interfejs użytkownika jQuery ma nową funkcję pozycjonowania, która umożliwia pozycjonowanie elementów względem siebie. Pełną dokumentację i wersję demonstracyjną można znaleźć pod adresem: http://jqueryui.com/demos/position/#option-offset .
Oto jeden sposób na pozycjonowanie elementów za pomocą funkcji pozycji:
var options = {
"my": "top left",
"at": "top left",
"of": ".layer1"
};
$(".layer2").position(options);
.position... Zobacz: api.jquery.com/position
Jest to wykonalne, ale musisz wiedzieć, że użycie offset()ustawia pozycję elementu względem dokumentu:
$('.layer1').offset( $('.layer2').offset() );
Oto opcja. To dotyczy tylko współrzędnych x.
var div1Pos = $("#div1").offset();
var div1X = div1Pos.left;
$('#div2').css({left: div1X});
var redBox = $(".post");
var greenBox = $(".post1");
var offset = redBox.offset();
$(".post1").css({'left': +offset.left});
$(".post1").html("Left :" +offset.left);