De acuerdo con la documentación oficial de jQuery, esta función debe:jQuery posición() superiores devuelve 0 en lugar de un valor real
"Obtener las coordenadas actuales del primer elemento en el conjunto de elementos emparejados, en relación con el offset parent. "
Se espera que el siguiente código devuelva el valor 51, pero devuelve el valor 0. ¿Alguien podría proporcionar información como también por qué? Gracias por adelantado.
Sé que la adición de css (top: xx) funciona, si es así, ¿eso significa que la posición() solo funciona para el caso en que el elemento tiene la propiedad css de la parte superior?
<html>
<head>
<style type="text/css">
.outer
{
width:200px;
height:200px;
overflow-y:auto;
border:1px dotted grey;
position:absolute;
}
.inner
{
width:50px;
height:50px;
margin-top: 50px;
border:1px solid red;
}
</style>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript"">
$(document).ready(function() {
$('.inner').mousedown(function (e) {
alert($(this).position().top);
})
})
</script>
</head>
<body>
<div class="outer">
<div class="inner"></div>
</div>
</body>
</html>
uso desplazamiento(). Top http://jsfiddle.net/XpynZ/ – sofl
@sofl esto es relativo al documento, quiero el obtener la longitud entre div div exterior y interior, es decir, que necesita una posición de uso en lugar de una compensación. – Ley