Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (37)

Лучшие ответы пользователя

Все ответы (195)
  • Как в Brackets выключить ESLint?

    @Aricus Автор вопроса
    Если кому интересно, нужно было отключить плагин ESLint в Меденджере расширений - Default.
    Ответ написан
    1 комментарий
  • Как сбросить кеш из скрипта в 1с-битрикс?

    @Aricus Автор вопроса
    Если кому интересно, сработали эти два метода:
    if (method_exists('\CIBlock', 'clearIblockTagCache')) {
    	\CIBlock::clearIblockTagCache(1); // Где 1 - id инфоблока
    } else {
    	BXClearCache(true);
    }
    Ответ написан
    Комментировать
  • Как пофиксить регулярки на JS?

    @Aricus
    newValue = newValue.replace(/[^а-яА-ЯЁё\s\-]/gi, ''); // дефис не был экранирован: он - тоже спецсимвол
        newValue = newValue.replace(/^[\s\-]+/g, '');
        newValue = newValue.replace(/[\s\-]+$/g, '');
        newValue = newValue.replace(/\s{2,}/g, ' '); // Заменялись все символы, а нужно от двух. Заменялось на пустую строку, а надо на пробел
        newValue = newValue.replace(/\-{2,}/g, '-'); // И то же самое для дефисов
    Ответ написан
    2 комментария
  • Как динамически (???) изменять XML документ?

    @Aricus
    Лучше в нужные моменты извлекать данные в js, и отправлять их по ajax, где уже в php сформировать и перезаписать xml.
    Ответ написан
    2 комментария
  • Как использовать zindex в js?

    @Aricus
    Мне приходит в голову сделать вложенные onload:
    var img1 = new Image();
    img1.src = "img/background/1.png";
    img1.onload = function() {
        ctx.drawImage(img1, 0, 0, x, y);
        var img2 = new Image();
        img2.src = "img/shadow/1.png";
        img2.onload = function() {
            ctx.drawImage(img2, 0, 0, x, y);
        }
    }

    Второй вариант: слои можно сделать самими canvas: придётся создавать отдельный canvas на каждую картинку.
    <div style="position: relative;">
    <canvas id="layer1" width="100" height="100"
    style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
    <canvas id="layer2" width="100" height="100"
    style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
    </div>

    А вообще, код плохой, потому что идёт множество повторений. По возможности любые повторения нужно прятать в циклы for или forEach, а также в функции. Потому что если что-то нужно будет менять, это нужно будет сделать в 1 месте, а не в 10. В данном случае, src картинок лучше вынести в массив, а всё остальное сделать в цикле forEach по этому массиву.
    Кроме того, вместо var лучше использовать let: почитайте разницу между ними.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (129)