Я хотел, чтобы получить точное расстояние между:Получить расстояние (расстояние по горизонтали т.е. левой границы направо - в пикселях) между несколькими дивы
#main
ДИВ покинул границу первого DIV сclass="b"
- между первым div с классом = "b" на второй div с классом = "b"
Обратите внимание, что div могут быть помещены случайным образом, а divs могут быть фиксированными позициями, поэтому между двумя div могут быть промежутки. Расчеты, такие как ширина всего числа div с class= a
, не будут решением в этом случае.
<div class="main">
<div class="a"></div>
<div class="b"></div>
<div class="a"></div>
<div class="a"></div>
<div class="a"></div>
<div class="b"></div>
<div class="a"></div>
<div class="a"></div>
<div class="b"></div>
</div>
То, что я попытался это:
$(".main").children(".a").each(function() {
$(this).nextUntil(".b").length /* basically this width I need I guess */
console.log($(this).siblings(".b").prev(".a").html());
var diff = $(this).offset().top - $(this).nextUntil(".b").offset().top
// here both values are same so result is zero
console.log('diff' + diff);
});
Что вы подразумеваете под «расстоянием»? Пиксели между «левыми» позициями? Пиксели между 'left' и' top'? Разница между индексами в родительском? Более подробная информация и рабочий пример действительно помогут здесь. –
@RoryMcCrossan: yes sir, я имею в виду горизонтальную разницу в пикселях –
'var diff = $ (this) .offset(). Top - $ (this) .nextUntil (" .b "). Offset(). Top;' Вы пропустили другой '.offset()' в своем коде –