Ответы пользователя по тегу JavaScript
  • Как отсортировать свойства объекта?

    brusher
    @brusher
    Фронт-енд разработчик
    Получить массив ключей -> отсортировать массив -> засунуть данные ключ-значение в новый объект, в соответствии с массивом.
    var unsortedObject = {
         "Pepper": "Перец",
         "Dill": "Укроп",
         "Tomato": "Томат"
    };
    var sortedObject = sortObject(unsortedObject);
    
    function sortObject(obj) {
     var keys = Object.keys(obj);
     var result = {};
     keys.sort();
     for(var i = 0; i<keys.length; i++) {
       result[keys[i]] = obj[keys[i]];
     }
     return result;
    }
    Ответ написан
    2 комментария
  • Как повесить wasd клавиши на стрелки?

    brusher
    @brusher
    Фронт-енд разработчик
    Так по идеи у вас на стрелках висит некий обработчик (типа playerMove).
    Вешайте его и на WASD. Не нужно городить костыльную неочевидную связь стрелок с WASD. ;)

    Две ссылки в помощь:
    www.html5gamedevs.com/topic/7447-use-both-arrow-ke...
    www.html5gamedevs.com/topic/3199-creating-keyboard-keys
    Ответ написан
    Комментировать
  • Как добавить class к элементу при выполнении условия if?

    brusher
    @brusher
    Фронт-енд разработчик
    Проблема в этом месте: $(this).parent().find('.upload_btn').
    Кнопка не находится, т.к. вы её ищете внутри парента, который удаляете. К тому же она лежит у вас намного выше по дереву.
    Замените на $('.upload_btn') или если таких формочек много на странице, то сначала определите ссылку на кнопку:
    var $btn = $(this).parents('.photo_loader').find('.upload_btn');
    , а затем удаляйте парента и удаляйте/присваивайте класс для $btn.
    Ответ написан
    2 комментария
  • Почему не наносится картинка на канвас?

    brusher
    @brusher
    Фронт-енд разработчик
    Подозреваю, что в момент исполнения скрипта изображение еще не загружено.
    Попробуйте повесить код на событие load у картинки:
    а). либо указав прямо у элемента onload="makeWatermark()",
    б). либо с помощью$('img').on('load', makeWatermark), но в таком случае SRC нужно указывать только после того как повесите обработчик события.
    в). (имхо — лучший вариант) Вообще не грузите в DOM изображения, грузите только ссылку на изображение, а на стороне JS уже создавайте изображение и работайте с ним:
    var img = document.createElement('img');
    img.onload = makeWatermark;
    img.src = "<?=$img_url;?>";

    А для стабильной работы еще и неплохо бы убедиться в том, что вотермарк тоже загружен, и если нет — то загрузить его (аналогичным способом загрузить и вызвать onload с дальнейшей отрисовкой).

    Надеюсь мой совет помог. Успехов! :)
    Ответ написан
    Комментировать