• Как определить величину перекоса transform skew?

    MaKvc
    @MaKvc Автор вопроса
    Lynn «Кофеман», Азиз Таджитдинов, Спасибо вам! Однако, очень сложно! Я если честно, ничего не понял еще в самом начале, когда нашел на англоязычном сайте подобные вашим формулы и даже gpt - не смог мне, необразованному объяснить. Так что, я решил пойти несколько безобразным путем. С помощью js определяя, насколько блок с перекосом выходит за пределы родительского контейнера - настолько установить ему margin, дабы вписать его в родительский контейнер.
    Написано
  • Можно ли отследить mousemove над youtube iframe?

    MaKvc
    @MaKvc Автор вопроса
    Владислав Лысков, В этом случае, наложенный div с pointer-events: none просто не будет получать событие движение мышью, получается что и смысла в нем нет..
    Написано
  • Можно ли отследить mousemove над youtube iframe?

    MaKvc
    @MaKvc Автор вопроса
    IvanU7n, Я думал о таком варианте, но в этом случае, iframe - более не интерактивен.
    Написано
  • Можно ли присвоить массив ключам объекта?

    MaKvc
    @MaKvc Автор вопроса
    Жутко! Почки как "Нечто" Карпентера в мои 12. Реально с константами более наглядно.
    Написано
  • Можно ли присвоить массив ключам объекта?

    MaKvc
    @MaKvc Автор вопроса
    Сергей Соколов, Отвергнут не был! Я его уже использовал. Просто хотел узнать, есть ли еще варианты?
    Написано
  • Можно ли присвоить массив ключам объекта?

    MaKvc
    @MaKvc Автор вопроса
    Виктор Майоров, А что это дает? Объект в качестве ключей получить индексы.
    Написано
  • Можно ли присвоить массив ключам объекта?

    MaKvc
    @MaKvc Автор вопроса
    Антон Антон, Спасибо! А без объявления функции и констант никак? Много лишних сущностей плодить приходится..
    Написано
  • Насколько опасно использование конструктора Function?

    MaKvc
    @MaKvc Автор вопроса
    Соберите самую сложную комбинацию и посмотрите, как коэффициенты вырождаются в нули для слагаемых и единицы для множителей в "более простых" вариантах расчетов.

    Если бы я был таким умным...
    Написано
  • Насколько опасно использование конструктора Function?

    MaKvc
    @MaKvc Автор вопроса
    Ivan Bogachev,

    У вас действительно там прям много принципиально разных логик для форматирования значений?


    На данный момент, их всего три. Обычное число, проценты и число преобразованное в дату. Я думал над тем что-бы сделать что-то типа data-format-value="percet" и потом выполнять что-то тип:
    window.helpers[/*  тут значение data-format-value */](value, maxValue)

    где percet - функция которая преобразует значение в проценты. Аналогично с датой или числом. Но проблема в том, что мне в некоторых случаях нужно иметь 200% или же другое, отличное от 100% значение. Или в случае с числом мне при min: 0.1 max:1 нужно иметь значение умноженное на 1000 в в другом случае, к этому значение еще и 200 в виде процентов размазанных на min и max нужно прибавить... Короче, таких функций будет много!
    Написано
  • Насколько опасно использование конструктора Function?

    MaKvc
    @MaKvc Автор вопроса
    alexalexes,
    например, подкорректировать множители на основе введенных значений пользователем

    Я об этом думал! Спасибо! У меня значение data-format-value - является статичным. Тип. в разметке указал один раз и все!
    злоумышленнику надо иметь возможность внедрять HTML

    Я думаю что если он такую возможность получил, ему уже конструктор Function - не нужен!
    В этом случае злоумышленнику уже не надо иметь возможность произвольно внедрять HTML, ему нужно докопаться то этого поля, и там уже делать JS инъекцию.

    Извиняюсь, а что ему это даст? Ну вот он имеет возможность внедрить js, но ведь это js... Получается, он внедрил его сам себе, на своем клиенте... А другие пользователи его ведь не получат. они получат первозданную страницу в которой тоже могут выполнить инъекцию, но для себя. Или это не так работает? Я так понимаю что для глобальной инъекции - нужно иметь некое общее поле между пользователя?
    Написано
  • Насколько опасно использование конструктора Function?

    MaKvc
    @MaKvc Автор вопроса
    То есть, если я сам пишу разметку, этот метод безопасен? Я ведь сам буду указывать data-format-value...

    В вашем случае скорее всего можно поделить формулы на части. Сделать отдельно число-масштаб, отдельно число-смещение. В вопросах фоматирования данных обычно есть разнообразие значений коэффициентов в формулах, но при этом мало различных смыслов этих самых коэффициентов. Так что именно отдельная формула на каждый чих обычно не нужна, нужны просто разные числа.


    Дико извиняюсь, я не понял как это может быть реализовано... В примере у меня простая математика с округлением. Но есть более сложные вещи.
    Написано
  • Насколько опасно использование конструктора Function?

    MaKvc
    @MaKvc Автор вопроса
    Но постойте! Если злоумышленник имеет возможность вставки собственное HTML - это уже ВСЕ!!! Тут даже и конструктор Function не нужен... Или нет?
    Написано
  • Насколько опасно использование конструктора Function?

    MaKvc
    @MaKvc Автор вопроса
    Я правильно Вас понял, у злоумышленника - должна быть возможность размещать на сайте HTML, он его размещает в виде range компонента но в поле data-format-value - злыми, липкими (фу) лапками, вставляет свой вредоносный код. Теперь, все пользователи сайта получают этот кусочек html кода и получается, злоумышленник - может похитить у них данные?
    Написано
  • Какими браузерами поддерживается css calc используемый в background linera-gradient?

    MaKvc
    @MaKvc Автор вопроса
    Чето в последнее время туплю жоска! Аж самому неудобно... Спасибо!
    Написано
  • Как отследить перемещение элемента?

    MaKvc
    @MaKvc Автор вопроса
    Nik Faraday, Ну, в свое оправдание скажу что я таки попытался разъяснить в чем же все таки суть. Но не суть! (каламбур) На самом деле, я опять занялся ерундой! Ибо еще вчера было ясно, что все это - одна сплошная проблема о которой говорят. Но я почему-то решил что мне поможет, прости господи, toster... Может быть, это такая хитрая форма прокрастинации, тип. "я ищу оптимальное решение!". Потому, будут гуглить сотни страниц и ждать пока мне на русскоязычном вопроснике помогут решить проблему о которой еще в 2017 году были разговоры среди людей которые создают, предлагают и принимают веб-стандарты... Наивно и бредово!
    Написано
  • Как отследить перемещение элемента?

    MaKvc
    @MaKvc Автор вопроса
    Так оно и есть, Вы все правильно поняли! Конечно, странно что Вам понадобилось прочитать все комментарии... Ведь сам вопрос звучит: "Как отследить перемещение элемента?" Я не знаю, может это проблема менталитета... Но по моему, сам вопрос отражает суть и вполне ясен для понимания. Ведь "перемещение элемента" - автоматически подразумевает изменение его позиции относительно той, которая была до перемещения. Может быть более корректно было бы написать так: Как отследить смену позиции элемента? Не знаю... Еще более странным является тот факт, что людям, по всей видимости, тяжело понять концепцию, принять то, что у элемента - может быть изменена его начальная позиция, без изменения размеров и что для этого необязательное прямое воздействие. Например: есть у Вас accordion, вы отрыли один из пунктов, нижележащие элементы (находящиеся под accordion-ом) - поменяли позицию. Изменили ли они свой размер? Необязательно! Но позицию ведь поменяли! Что тут сложного для понимания... Или вот еще пример: Есть у вас блок, по наведению на который ему присваивается некоторый margin, padding и\или translate или он позиционирован как relative и ему присваивается top, вот вы хотите так, у Вас некое стилистическое решение, сейчас опустим детали зачем и почему, просто нужно принять это факт, ведь подобное с высокой вероятностью может встретиться. Так вот, вы наводите на этот элемент вследствие чего, соседние элементы - могут быть смещены, как и непосредственно сам элемент. Элементы - опять не изменили своих размеров, но поменяли позицию и поменяют ее вновь, когда hover - будет потерян.

    В комментариях я разместил выбранное мною решение. Пожалуй, единственно возможное на данный момент, если не придираться к деталям реализации. И да, как Вы уже упомянули, считать нужно непосредственно от самого документа. В противном случае, будет влиять прокрутка.
    Написано
  • Как отследить перемещение элемента?

    MaKvc
    @MaKvc Автор вопроса
    ты хочешь при dropdown отследить элемент какими-то необычными способами.

    Почему я знал что пример с dropdown (как и любой другой упрощенный), приведет к рассуждения и поиску решению в ключе dropdown.
    в 99.99999999999999999999999999999999999999999% - нет той задачи, которая бы требовала отслеживать изменение gap ( стиль )

    вообще отслеживание одновременно, стили у контейнера, тот же gap, и всех потомков а точнее все их стили, типа margin, width и т.д ( ну тут до бесконечности можно перечислять )

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

    Бред сивой кобылы! Для этого нет нужды отслеживать все! Тот же ResizeObserver - способен без особых трудозатрат отследить изменения размеров конкретного элемента. getBoundingClientRect - без проблем способен вернуть позицию конкретного элемента. getBoundingClientRect - это даже в самом плохом варианте десятки тысяч (а то и сотен) операций в секунду.
    ты не верно подходишь к решению задачи, которая стоит перед тобой.

    Похоже что да! И мне следовало бы взять у тебя уроки!
    Написано
  • Как отследить перемещение элемента?

    MaKvc
    @MaKvc Автор вопроса
    Ankhena, Нет у этой истории начала! Тк. это плагин. Есть элемент - который сложно позиционируется на странице, относительно нескольких произвольных элементов, которые, в свою очередь, определяет пользователь. И вот, у нас есть элемент который позиционируется и несколько элементов относительно которых происходит позиционирование.
    Едем дальше! Проблем с resize нет! Все прекрасно работает ибо методов для этого js предоставляет достаточно. НО! Что если один из элементов относительно которого происходи позиционирование, не меняя своего размера, меняет положение, будь то transform translate, отрицательный margin или он находится внутри сетки которая, допустим, увеличила gap и элемент сдвинутся (не меняя размера). Короче, я не знаю на что я опять наделся когда пришел на toster... Но еще вчера под вечер, стало ясно что это одна из проблем у которой пока что нет адекватного решения. К обсуждению на w3 был предложен механизм rectObserver с помощью которого, как предполагается, можно будет подписаться на изменение положения и\или размера (хотя уже есть resize). Самый просто пример который я могу Вам предложить к опыту. берете два элемента, первый кнопка, второй блок (самый простой dropdown). Позиционируете блок относительно кнопки. Попробуйте теперь заставить блок "бегать" за кнопкой изменяя ее положение различными методами. Хотя... возможно, это не самый удачный вариант для примера. Подводя итоги, ResizeObserver полюбому, для плагина опция autoUpdatePos (Boolean) и updateInterval (Int), если autoUpdatePos огда getBoundingClientRect + setInterval с updateInterval. И пусть пользователь сам решает, а надо ли ему это, если надо, то как часто.
    Всем спасибо!
    Написано
  • Как отследить перемещение элемента?

    MaKvc
    @MaKvc Автор вопроса
    historydev, MutationObserver - позволит отследить только изменение в атрибутах. Ну а если именно родитель является причиной смещения? Или скажет, смещение элемента произошло через css селектор дочерних элементов под который подпадает отслеживаемый элемент, что в этом случае?
    Написано
  • Как отследить перемещение элемента?

    MaKvc
    @MaKvc Автор вопроса
    Ankhena, Я же уже написал! Все то, что может спровоцировать смещение\перемещение элемента на странице. Трансформация, отрицательный margin, случае когда родитель является grid или flex и любые другие способы\случаи.
    Написано