• Как сделать чтобы модальное окно не сдвигало блок position:fixed?

    szQocks
    @szQocks
    а какой именно сдвиг ? смотри если у тебя изначально header имеет position: fixed и мы прокрутили страницу на половину и решили открыть модальное окно - в этот момент header как двигался сверху так и будет оставаться сверху, о каком сдвиге ты говоришь - непонятно, точнее опиши проблему
  • Как отследить перемещение элемента?

    szQocks
    @szQocks
    Дмитрий,
    Причем тут gap, свойства и стили всех родителей и потомков???


    Что если один из элементов относительно которого происходи позиционирование, не меняя своего размера, меняет положение, будь то transform translate, отрицательный margin или он находится внутри сетки которая, допустим, увеличила gap


    ты сам не знаешь что хочешь, как я и сказал ранее - скорее всего задача решается проще чем твоя идея, с отслеживанием всего этого, marign, gap и т.д

    если покажешь демо, или описание задачи - я попробую её понять, и возможно подскажу нормальное решение а не то что хочешь сделать ты

    только не надо мне повторять именно твои мысли - для решение этой задачи, а расскажи саму задачу ( ты же как-то пришёл к мыслям которые ты пишешь здесь, не с неба же их взял )
  • Как отследить перемещение элемента?

    szQocks
    @szQocks
    Дмитрий, вообще отслеживание одновременно, стили у контейнера, тот же gap, и всех потомков а точнее все их стили, типа margin, width и т.д ( ну тут до бесконечности можно перечислять ) - это невероятно, очень трудозатратная операция для браузера, той же оперативки, у тебя не то что сайт будет лагать, а целый браузер.

    можно это конечно через debounce или throttle обернуть, но всё равно - это идея не хорошая
  • Как отследить перемещение элемента?

    szQocks
    @szQocks
    Дмитрий, ты не верно подходишь к решению задачи, которая стоит перед тобой. Я уверен что там всё намного проще чем кажется на первый взгляд, просто ты мыслишь не в том направлении.

    На сколько я понял из всего что ты написал - ты хочешь при dropdown отследить элемент какими-то необычными способами.

    Попробуйте теперь заставить блок "бегать" за кнопкой изменяя ее положение различными методами.
    - это похоже на группировку, если один должен бегать якобы за другим, они должны быть в едином блоке, и перемещать уже не единый блок, а целую группу, что бы казалось что один бегает за другим.

    в 99.99999999999999999999999999999999999999999% - нет той задачи, которая бы требовала отслеживать изменение gap ( стиль )
  • Как преобразовать массив с 3 индекса?

    szQocks
    @szQocks Автор вопроса
    0xD34F,
    А если открыть документацию и посмотреть, что делает map со своим вторым параметром?
    - вызывает callback для каждого элемента, но в качестве контекста - будет второй агрумент который был передан в метод map, что-то типа этого fn.call(второй аргумент map, остальные аргументы) , в this - будет массив [ num / arr.length | 0, num % arr.length ] - но моя проблема не в этом была, а в том что num / arr.length | 0 - эта запись, а именно оператор побитового или, я например не часто его вижу, и что бы понять сходу какой будет результат num / arr.length | - здесь, то пришлось открыть документацию и вспомнить а что делает оператор побитового или, и продебажить.

    только пока значение index не превышает верхнюю границу массива.
    что значит верхняя граница массива ? длина массива ?
  • Как преобразовать массив с 3 индекса?

    szQocks
    @szQocks Автор вопроса
    0xD34F, спасибо что изменили ответ, написали различные варианты, я хоть и разобрался в них - в том как они работают, но в голове от этого не прибавилось. Так как в конечном итоге, я не понял ход ваших мыслей.

    вот кстати этот участок кода, сложноватый что бы с ходу так просто я глянул и понял что тут происходит

    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 и побитовое или в массиве, которым толком никто нигде никогда не пользуется, и в большинстве случаев человек пойдёт гуглить и вспоминать что делает этот оператор

    P.S ну и сам вариант что я тупой - я тоже не отрицаю. Повторю математику, может будет в этом толк, посмотрим.
  • Как преобразовать массив с 3 индекса?

    szQocks
    @szQocks Автор вопроса
    0xD34F мне вот интересно, вы же когда писали это решение - просто экспериментировали с делением с остатком, подгоняя те или иные числа ? главное что бы результат получился тот который был нужен ?

    потому что заранее в голове продумать такой вариант - сомневаюсь что возможно
    Если вы заранее продумали этот вариант, то что тогда такого нужно изучать что бы на столько нестандартно мыслить ?
  • Как отследить, вышел ли блок за пределы окна браузера или нет?

    szQocks
    @szQocks
    Niksak, я тебя запомнил, шутник, что б я ещё раз ответил на твои вопросы - никогда!

    действительно там есть стиль зум, мде
  • Как отследить, вышел ли блок за пределы окна браузера или нет?

    szQocks
    @szQocks
    Niksak, ну проанализировал я твой код и скрин, и сделал вывод что это не модалка уходит за пределы экрана а блок относительно которого она позиционируется, и вангую, что она позиционируется абсолютом - не относительно боди

    тут так просто не разберешься, копаться надо, смотреть уже другой блок, блок относительно которого она позиционируется - но стили его и код его мне скидывать не надо, я этой шляпой заниматься не собираюсь, но ответ я дал относительно этого кода и скрина который ты скинул
  • Как отследить, вышел ли блок за пределы окна браузера или нет?

    szQocks
    @szQocks
    Niksak, проблема в стилях наверное, вряд ли подскажу что-то, так как что бы точно ответить на твой вопрос, надо взглянуть то как она там в разметке в HTML появляется это окно + посмотреть стили, сам понимаешь - гемороя выше крыши, попроще вопросы задавай)

    да и если на то пошло, раз ты разраб на vue, с модалкой должен на легаси разобраться чё уж...вряд ли сверхъестественная она
  • Как отследить, вышел ли блок за пределы окна браузера или нет?

    szQocks
    @szQocks
    Niksak, она не за пределами, лишь часть её, тогда в условии не нужно складывать ширину, просто проверять if(left < 0 || left > window.screen.width) { }

    а хотя в твоём случае это проверка не поможет, у тебя там вообще стоит 370+ px left, хз как ты так сверстал её
  • Как отследить, вышел ли блок за пределы окна браузера или нет?

    szQocks
    @szQocks
    Niksak, как ты её в боди кидать будешь - это я не знаю, в реакте есть порталы, в Vue - хз
  • Как отследить, вышел ли блок за пределы окна браузера или нет?

    szQocks
    @szQocks
    Niksak, знаешь что бы не парить мозги, скажу как было бы более адекватно сделать модалку

    обёртку у модалки - кидаешь в боди а тело модалки, кидаешь в этот блок обёртку и - ровняешь относительно этого же блока в котором она находится, делаешь этот блок обёртку у модалки абсолютом, и у боди скрываешь скролл, и тогда не придётся делать какие-то вычисления о том, ушёл ли блок за пределы окна просмотра и т.д
  • Как отследить, вышел ли блок за пределы окна браузера или нет?

    szQocks
    @szQocks
    Niksak, if(left < 0 || left > window.screen.width) { }

    или мб так даж

    if(left + width < 0 || left >  window.screen.width) { }


    ?
  • Как отследить, вышел ли блок за пределы окна браузера или нет?

    szQocks
    @szQocks
    Niksak, почему бы тебе не сверить ширину и высоту ( если высота нужна тоже ) с блоком который равен 100% ширины окна просмотра ?

    а даже не блок сверить а просто получить window.screen.width
  • Как сделать поочередное заполнение блоков?

    szQocks
    @szQocks
    0xD34F, там если не ошибаюсь в вашем решении индикаторы полностью закрашиваются, а не на половину ( точнее не по процентам )
  • Почему react не показывает новый массив?

    szQocks
    @szQocks
    Suleymanov, ты можешь сказать, щас работает так как надо или нет ? и если работает так как надо - ответь сам на свой вопрос, и сделай ответ решением
  • Почему react не показывает новый массив?

    szQocks
    @szQocks
    Suleymanov, по факту эти компоненты должны пересоздаваться и перерисовываться, даже если и ключи не указаны, так как при любом изменении стейт - создаётся новый массив

    скорее ошибка была в том - как был объявлен стейт, видимо из-за кривого объявления, компонент не перерисовывался - ну это мои догадки, я на классовых не пишу поэтому уже и не помню что там да как