Ответы пользователя по тегу HTML
  • Откуда между кнопками промежуток?

    mosesfender
    @mosesfender
    Меланхолик, параноик, падал с коек
    Это страшная беда всего инлайна.
    Вот так зазора точно не будет.

    .buttons_wrap{
        align-self: flex-end;
        font-size: 0;
    }
    
    .buttons_wrap a{
        font-size: 10px;
    }
    Ответ написан
    Комментировать
  • Как сделать кнопку неактивной при снятии чекбокса?

    mosesfender
    @mosesfender
    Меланхолик, параноик, падал с коек
    я бы какой-нибудь такой монстр собрал:
    var TNextStepButton = /** @class */ (function () {
        function TNextStepButton(options) {
            this.extend(this, options);
            this._element['__obj'] = this;
            this._initCheckboxes();
            this.isChecked();
        }
        Object.defineProperty(TNextStepButton.prototype, "enabled", {
            /**
             * Тут, собственно, производим движения с кнопкой "далее".
             */
            set: function (val) {
                /**
                 * Кстати, у HTMLAnchorElement'а нет в прототипе disabled.
                 * Тут надо выдумывать что-то, или вместо <a> делать <button> 
                 */
                this._element.disabled = !val;
                console.log(val, this._element.disabled);
            },
            enumerable: true,
            configurable: true
        });
        /**
         * После каждого изменения в любом из чекбоксов, проверяем их состояние,
         * результат передаётся в сеттер элемента кнопки.
         */
        TNextStepButton.prototype.isChecked = function () {
            var ret = 0;
            [].map.call(this.inputs, function (_chb) {
                ret = ret | _chb.checked;
            });
            this.enabled = ret;
            return ret;
        };
        /**
         * Инициализация событий чекбоксов
         */
        TNextStepButton.prototype._initCheckboxes = function () {
            var _that = this;
            [].map.call(_that.inputs, function (_chb) {
                var _click = _chb.addEventListener('change', function (ev) {
                    _that.isChecked();
                });
            });
        };
        Object.defineProperty(TNextStepButton.prototype, "inputs", {
            /**
             * Возвращает все чекбоксы из указанного контейнера
             */
            get: function () {
                return document.querySelectorAll(this.inputsContainerSelector + ' input[type="checkbox"]');
            },
            enumerable: true,
            configurable: true
        });
        /**
         * Некоторое подобие extend'а
         */
        TNextStepButton.prototype.extend = function (first, second) {
            for (var id in second) {
                first[id] = second[id];
            }
            return first;
        };
        return TNextStepButton;
    }());
    document.addEventListener('DOMContentLoaded', function () {
        /**
         * По загрузке контента создаём объект у кнопки "далее"
         */
        var button = new TNextStepButton({
            _element: document.getElementById('nextstep'),
            inputsContainerSelector: '.checkboxes',
        });
    });
    Ответ написан
    Комментировать
  • Как сделать, чтобы отображаемый select'ом текст отличался от текста выбранного option'а?

    mosesfender
    @mosesfender
    Меланхолик, параноик, падал с коек
    Нельзя так сделать.
    Разве что сделаешь поверх этого элемента плашечку с абсолютным позиционированием, и будешь туда писать нечто.
    Ответ написан
    Комментировать
  • Как сделать прокручивание внутри div, при навигации по его элементам?

    mosesfender
    @mosesfender
    Меланхолик, параноик, падал с коек
    У каждого элемента есть offsetParent и offsetTop. Кроме того, есть у элемента замечательная функция getBoundingClientRect(). Вот возьми все эти цифры, и подумай как посчитать scroll и положение своего div'а относительно другого div'а.
    Ответ написан
    Комментировать
  • Если на слайдере оставить курсор, то не работает скролл страницы, как починить?

    mosesfender
    @mosesfender
    Меланхолик, параноик, падал с коек
    я бы сказал никак.
    В конце-концов никого же не удивляет, когда над чем-то одно контекстное меню, над чем-то другое. Такова селяви. У всего свои события обрабатываются.
    Ответ написан
  • Как в тэг встроить функцию submit?

    mosesfender
    @mosesfender
    Меланхолик, параноик, падал с коек
    По нажатию на div.search-btn отправляй XHR на нужный адрес с value твоего input.search-txt. В чём проблема-то?
    Ответ написан
  • Почему пропадают элементы страницы при сохранении ее из браузера?

    mosesfender
    @mosesfender
    Меланхолик, параноик, падал с коек
    Потому что у этих ссылок изображения сделаны как фон со своим url, а они не сбрасываются на диск вместе со всеми.

    Если они очень нужны, то их следует скачать вручную. Посмотреть в дебугере как они называются на сохранённой странице. Их сразу видно. И скачать с оригинального сайта.
    5cb6818639d12186263325.png
    Ответ написан
    1 комментарий
  • Что лучше сделать отложенную загрузку контента или только изображений?

    mosesfender
    @mosesfender
    Меланхолик, параноик, падал с коек
    Изображений. Контент много не весит. А картинки можно догрузить потом. У меня так в слайдерах сделано: только первая картинка грузится, остальные после открытия документа неспеша подгружаются. Все поисковики сразу любить стали.
    Ответ написан
    Комментировать
  • Хранение информации в js переменных?

    mosesfender
    @mosesfender
    Меланхолик, параноик, падал с коек
    Где угодно можно хранить. Можно прям объект со всем функционалом сделать, и непосредственно создать его как property HTMLElement'а. Можно совсем уж сделать класс в прототипе, и работать с ним.

    содержимое переменной будет храниться до тех пор пока не будет закрыта страница, т.е. переменные хранятся в оперативной памяти которую браузер выделил всей странице?

    Будет храниться пока не прибъёшь её, или пока не будет уничтожен документ.
    Убивается переменная довольно просто:
    var anyVar = 678594;
    anyVar = null;
    Ответ написан
    Комментировать
  • Как отобразить ошибку из Javascript в html?

    mosesfender
    @mosesfender
    Меланхолик, параноик, падал с коек
    Ошибки JavaScript нужно выводить в консоль. Обычно их обрабатывают, иногда даже заключают в try{…}catch(err){concole.error(err);}

    А то что в сабже - это информативные сообщения.
    Ответ написан
    Комментировать