Задать вопрос
  • Как создать элементы пагинации с многоточием?

    @ksnk
    Ссылка на fex.net у меня не открывается.
    Сейчас, если уменьшить размер экрана до появления 2 столбцов вместо 3-х, должен появится номер 17 вместо 16. Я там неправильно вычислял total - общее количество элементов, сейчас должно быть нормально.
    Написано
  • Как создать элементы пагинации с многоточием?

    @ksnk
    Какой смысл делать активный слайд не по центру а сбоку ?
    https://codepen.io/ksnk/pen/MWNjMQV?editors=1111
    Написано
  • Как создать элементы пагинации с многоточием?

    @ksnk
    https://codepen.io/ksnk/pen/MWNjMQV?editors=1111
    Я там много поменял, сравнивай сам. Лишнее повыкидывал. Возможно, нужно скрывать не показываемые кнопки как-то более прилично, чем display:none!important, но так сработало.
    Написано
  • Нужно ли самому контролировать, выполнилась ли задача в очереди?

    @ksnk
    Редиска - это же настоящая база данных, ну почти, это не мемкеш какой-нибудь. Что значит - упадет? Вместе с сервером?
    Написано
  • Как сделать отступ от текста JS+HTML?

    @ksnk
    В смысле - ужасно ? 6705353f00846132410789.png Вроде все согласно ТЗ - ровно, ну разве что добавил вывод первых 12 и последних 12, для скорости...
    Написано
  • Как избежать скачков header с использование scroll и transform?

    @ksnk
    transition: transform 0.16s linear, opacity 0.16s linear;

    Вот это правило ты зачем вообще используешь? Именно оно и говорит - "скачи".
    Написано
  • Как сделать position sticky для дочернего элемента?

    @ksnk
    Без JS никак.
    На window.onscroll вешаешь изменение класса заголовка, заголовок в этом классе выкидывает ненужные элементы (делает скрытыми) и получает position: fixed; top: 0.
    Если значение window.scrollTop достаточно небольшое (размер заголовка в "нормальном положении"), то класс заголовка снимаем - заголовок становится нормальным.
    Написано
  • Как получить координаты точки, зная координаты других 3-х, и расстояние между ними?

    @ksnk
    Ну, тупо же. Задача решается почти на коленке, без функции расстояния.
    Мат. рассуждения:
    Берем 2 точки, рисуем вокруг них сферу с указанным расстоянием между этими точками и нужной нам. Пересекаются сферы в окружности. Ее формула выводится на бумажке. - тоже формула.
    Проектируем перепендикулярно плоскости третью точку в плоскость , в которой располагается окружность, пересчитываем расстояние и получаем плоскую картинку про пересечение 2-х окружностей. Не более 2х ответов.

    В какое место нужно будет применять функцию вычисления расстояния - я не вижу.
    Написано
  • Как реализовать подписание оферты на сайте простой электронной подписью?

    @ksnk
    Сейчас при оформлении заказа клиенты прикрепляют скрин паспорта.
    Но юрист ... посоветовал сделать подпись простой электронной подписью.

    Речь, разве не об этом идет ?
    Написано
  • Как правильно организовать код в плане модульности и иниции модулей?

    @ksnk
    Список виджетов нужен только в админке и только и исключительно для вывода этого списка. Дальше - клик на страницу параметров, или клик для вставки виджета (рамка/иконка) на страницу в редакторе. На странице сайта виджет сидит по своему имени и со своим списком локальных параметров. Удобно вставлять виджет на страницу в виде шорткода. Хотя тут бывают разные случаи, возможно список виджетов страницы придется кэшировать отдельно, для скорости.
    В админке логично использовать glob с поиском в спец каталоге для получения списка виджетов. В 2 шага. Выводим сначала сохраненный ранее в базе список, одновременно запускаем ресканирование списка виджетов и, если изменился, подгружаем новый список со значками обновления.
    Хранить список в базе удобно тем, что там можно отключить виджет без физического его удаления с сайта, и редактирования статей сайта, да и глобальные параметры бывает полезно хранить там же. Заодно решается проблема с поиском файлов - при рескане можно сохранять абсолютный (относительно рута сайта) адрес файла в базу.

    То есть - список нужных виджетов хранит выводимая статья (страница сайта) и только она. Если с виджетом косяк - удален или отключен - это видно в админке при редактировании страницы сайта. Сами виджеты на сайте нигде не прописываются, только сохраняется их список, автоматически перегенерируемый админкой при изменении, для быстроты и удобства.
    Написано
  • Как синхронизировать анимацию и движение объекта (персонажа)?

    @ksnk
    К примеру - есть передвижение ног, обоих. Скорость (циклическая) смены кадров анимации передвижения - 1 секунда, к примеру. За это время персонаж перемещается на расстояние (которое видно по картинке персонажа) равное двойной длине шага - расстояние от начала одной ступни, до начала другой в кадре с максимальной шириной шага. Ну а там уже можно +- подрегулировать скорости
    Написано
  • Как синхронизировать анимацию и движение объекта (персонажа)?

    @ksnk
    dom12, В смысле ? Не "дерганная" анимация - пропуск кадров, а движение ног на совпадает со скоростью перемещения самого персонажа ? Ну дык скорость анимации самого персонажа нужно увеличить. Ну или скорость уменьшить.
    Написано
  • Как синхронизировать анимацию и движение объекта (персонажа)?

    @ksnk
    Где-то во глубине своего кода я использую вот такое
    - setInterval(10) - смотря насколько будет тормозить сам компьютер
    - window.requestAnimationFrame - вызов функции реальной перерисовки канваса когда броузер этого сам желает

    _draw - реальная перерисовка канваса

    В твоем случае, возможно, нужно один раз включить permanentdraw
    { // ...
        /**
         * Инициирует непрерывную перерисовку контента. Для плавной анимации.
         */
        permanentdraw: function () {
            if (!!this._interval) return;
            this._interval = setInterval(() => anima.draw(), 10);
        },
        /**
         * останавливает анимацию
         */
        clearpermanent: function () {
            if (!this._interval) return;
            clearInterval(this._interval);
            this._interval = null;
        },
    
        /**
         * отложенный draw - заявка на перерисовку. Можно частить, все равно не должно тормозить
         */
        draw: function () {
            if (!this._TO) {
                let that = this;
                this._TO = window.requestAnimationFrame(function () {
                    that._TO = false;
                    that._draw();
                });
            }
        },
    
    
    }


    Ну а так - нет кода - не будет и решения...
    Написано
  • Как реализовать реакции для сайта?

    @ksnk
    Если будут разные сущности для реагирования - комментарии, видео, статьи, новости и т.д, то логично формировать "уникальный индекс записи" в таблице, одно поле с содержимым 'comment:4723', 'news:235',... вместо имеющихся сейчас 3-х. Как вариант - префикс идентификатора это имя обрабатывающего класса. Или "роль" этого класса в системе + идентификатор записи. Так можно обойтись одним полем для идентификации записи о реакции в таблице.
    Поля в таблице - user_id, created - время , RECORD_ID - тот самый уникальный индекс, code- текстовый код реакции. created, как правило, не выводится нигде, но полезно (наверное) иметь для статистики
    Написано
  • Как сделать кривую линию между двумя блоками диаграммы?

    @ksnk
    Сама блоксхема чем нарисована? Просто ДОМ разметка?
    Написано
  • Почему не работает javascript после ajax?

    @ksnk
    Вообще-то ...validate сам устанавливает обработчик отправки формы. Так что вручную его устанавливать не надо. Тем более бессмысленно его устанавливать, когда кнопка уже нажата.
    Просто оставить вызов $('form[action="#"]').validate(...) с прежними параметрами
    https://jqueryvalidation.org/validate/
    Написано
  • Как это повторить на html&css?

    @ksnk
    Посмотри наложенные в фигме эффекты.
    Написано
  • Как реализовать анимацию линии?

    @ksnk
    Проще канвасом, наверное. В теге img нужно хранить точку назначения - якорь в тексте справа. При наведении на это img вычислить координаты откуда и куда вести стрелку и рисовать его. элемент canvas накладывается на картинку (поиграть с z-index?) и имеет в стилях pointer-events: none;
    Так можно развесистую логику накрутить - когда показывать, когда убирать...

    Нужно только подумать, что будет в мобильном разрешении экрана, когда картинка и текст будут друг над другом.
    Написано