Причем тут gap, свойства и стили всех родителей и потомков???
Что если один из элементов относительно которого происходи позиционирование, не меняя своего размера, меняет положение, будь то transform translate, отрицательный margin или он находится внутри сетки которая, допустим, увеличила gap
Попробуйте теперь заставить блок "бегать" за кнопкой изменяя ее положение различными методами.- это похоже на группировку, если один должен бегать якобы за другим, они должны быть в едином блоке, и перемещать уже не единый блок, а целую группу, что бы казалось что один бегает за другим.
А если открыть документацию и посмотреть, что делает map со своим вторым параметром?- вызывает callback для каждого элемента, но в качестве контекста - будет второй агрумент который был передан в метод map, что-то типа этого
fn.call(второй аргумент map, остальные аргументы)
, в this - будет массив [ num / arr.length | 0, num % arr.length ]
- но моя проблема не в этом была, а в том что num / arr.length | 0
- эта запись, а именно оператор побитового или, я например не часто его вижу, и что бы понять сходу какой будет результат num / arr.length |
- здесь, то пришлось открыть документацию и вспомнить а что делает оператор побитового или, и продебажить.только пока значение index не превышает верхнюю границу массива.что значит верхняя граница массива ? длина массива ?
const newArr = arr.map(function(n, i, a) {
return n + this[0] + (((i - index) % a.length + a.length) % a.length < this[1]);
}, [ num / arr.length | 0, num % arr.length ]);
% a.length
и побитовое или в массиве, которым толком никто нигде никогда не пользуется, и в большинстве случаев человек пойдёт гуглить и вспоминать что делает этот оператор