Ответы пользователя по тегу JavaScript
  • Как заставить код JS работать в цикле PHP?

    @DenJel
    Вынесите JS за цикл php и напишите там нормальный код, который берет все элементы с такими классами и пробегает по ним и проверяет ваши условия. Что-то типо:
    window.onscroll = function() {
      document.getElementsByClassName( 'class' ).forEach( function( el, id ) {
          if ( isVisible( el ) ) {
            doSmthWithEl()
        }
      } );
    }

    с jquery это делается за пару строк
    Ответ написан
    Комментировать
  • Как разрезолвить Promise на основании данных, поступивших из стороннего компонента?

    @DenJel
    А что мешает инициализировать промис после мутирования? Либо хранить сам промис в конструкторе?
    Ответ написан
    Комментировать
  • Каковы особенности переменных в ES6, в чем ошибка?

    @DenJel
    Нужен код функции func, скорее всего Вы меняете исходный объект, а не его копию.

    UPDATE: А все нашел у вас комментариях, ну разумеется вы меняете входной объект меню, в начале функции mergerMenu необходимо сделать чтото типо :

    const newMenu = Object.assign( {}, menu )

    и потом его уже возвращать из функции

    return newMenu;

    ну или если уж вы любитель es6
    const newMenu = { ...menu }

    UPDATE: все ключи объекта с таким подходом копируются по ссылке, если вам нужно абсолютно новое меню, нужно делать глубокое копирование, а это процесс довольно ресурсоемкий. Советую посмотреть на Immutable.js
    Ответ написан
    Комментировать
  • Как сделать прелодер при отправке формы?

    @DenJel
    в объекте с опциями есть настройка beforeSend передаете туда функцию, она выполняется перед отправкой данных,
    и есть настройка dataFilter она выполняется после прибытия данных, там выполняете обратные действия, ну или в done пихаете или в sucess
    Что-то типо:
    $.ajax({
      beforeSend: function() { показать прелоадер },
      dataFilter: function() { спрятать прелоадер }
    })
    Ответ написан
  • Как обратится к динамически созданной глобальной переменной?

    @DenJel
    так и обратиться: window["marker" + di ], либо в es6 window[`marker${ di }` ], либо повесь доп ссылку, что мешает const link = window["marker" + di ] = ....?
    Ответ написан
    Комментировать
  • Как сделать появления элемента при прокрутке?

    @DenJel
    1) if (typeof sticky != "undefined") зачем такая проверка если не секрет? не проще просто написать if ( sticky )?
    2) в addClass и removeClass передавайте строку с 2 классами, зачем Вам лишний вызов функции?
    3) Приведите пример на фидле.
    Ответ написан
    Комментировать
  • Стоит ли в JavaScript использовать для хранения данных объект элемента вместо объявления переменных?

    @DenJel
    Если только так :) Но это бред, но так вы хотя бы не трогаете экземпляры классов, которые не вы создали. Сверху навешиваете на прототипы getter'ы и setter'ы на someData. Если уж вы любите извращения, то хотя бы так)))

    function MyObject ( el ) {
        this.el = el;
        this.someData = false;
    }
    
    MyObject.prototype = {
         constructor: MyObject
    }
    
    MyObject.prototype.doSmth = function (){}
    
    
    var MyElement = new MyObject ( document.getElementById('id') )
    Ответ написан
  • Как сделать так, чтобы блок со стрелкой уходил вниз при сворачивании блока?

    @DenJel
    Как то так, про стрелочку додумайте сами, направление я вам дал. Пример
    Ответ написан
    1 комментарий
  • Если React не МVC то как с ним работают?

    @DenJel
    Как хочешь так и работай, в этом то и его прелесть. Он просто рисует DOM, не навязывает тебе свою архитектуру, в нем нет директив, как в любом другом фреймворке или JS-view либе, только vanilla.js. Ты просто делаешь компонент, и в зависимости от логики рендеришь его или не рендеришь. Проще пареной репы. А Flux, Redux, Flummox это уже организация данных и логики для твоего приложения. Они совершенно никакого отношения к реакту не имеют. Можно выкинуть реакт и вставить другую view либу. Можешь сделать все приложение на ангуларе, а форму логина просто нарисовать на реакте. Реакт - это просто верстка с логикой. Что-то похожее на то, как ты на PHP отдаешь HTML в зависимости от логики :) только вместо PHP - JS. И происходит это без перезагрузки страницы прямо на фронтенде, без обращения к серверу. И все по компонентам разбито) Вот такое извращенное сравнение. Хотя "знатоки" меня сейчас обосрут по полной. Как можно сравнивать PHP и React)))
    Ответ написан
    Комментировать
  • С каким уровнем знаний у вас получилось устроиться начинающим верстальщиком в веб студию?

    @DenJel
    Есть веб студии которые пишут сайтики на wordpress, а есть которые таким же штатом стартапы успешные пилят. И все зависит от того, куда ты хочешь попасть. Если в первый тип студий, то там много знаний не надо - верстка + вешать обработчики на jquery и ты готов работать, посмотрел минимальный гайд на ютубе и пили шаблоны + ПЫХ выучишь, но ты можешь очень сильно просесть по времени, ничего так и не выучив на такой работе, если во второй, то надо изучить хорошо JS, view библиотеку + какую нибудь архитектуру потока данных ( react + flux ( redux, alt ), vue + vuex ) либо JS фреймворк ( angular, ember или что там сейчас популярно ). Сделать что нибудь посложнее TODOшки и можно пробывать устраиваться. У меня так получилось, что я попал в первый тип студий и потерял там год. О чем потом сильно жалел. Уволившись оттуда, мне очень сложно было найти нормальную работу. Я выучил React.js до того уровня, чтобы без проблем верстать на нем и делать компоненты. И устроился стажером в один стартап. Там знания потекли рекой, хоть и зарплата была даже меньше чем на первой работе. Но с ростом знаний пошел и рост зарплаты. Через 3 месяца я уже получал в 2 раза больше. Как то так. P.S junior
    Ответ написан
    Комментировать
  • Какой стандарт js выбрать для новичка?

    @DenJel
    Ecmascript 6 не исключает а только дополняет 5, за исклюением const и let ( про var можно забыть ) ну и arguments ( вместо него spread операторы ). Критичных исключений из стандарта нет. Так что ES5 полюбому учить придется. Начинай с него, периодически заглядывая в спецификацию 6.
    Ответ написан
    Комментировать
  • Скажите пожалуйста,как сделать такую JS шторку?

    @DenJel
    1) картинка в png
    1.1) width 100%
    2) onclick css top 0
    3) onclick change bg
    4) просто написать в тегах p и отстилизовать
    5) svg или canvas
    если Вам непонятно, что я написал, то просто закажите, все равно сами только через недели 3 сделаете, а такую скучную, но довольно громоздкую задачу Вам вряд ли кто здесь напишет
    Ответ написан
  • Как сделать обработчик в javascript?

    @DenJel
    Ошибка в синтаксисе
    $('iframe').click(function(){ 
        $('form.1').fadeIn();
        $('form.fake').fadeOut();
          });

    либо
    $('iframe').on('click', function(){ 
        $('form.1').fadeIn();
        $('form.fake').fadeOut();
          });

    Это почему клик не отрабатывает, а что касается открытия div'a, снизу правильно написали, нужно в абсолюте прозрачный блог поверх фрейма повесить и обрабатывать клик при нажатии на него
    Ответ написан
    Комментировать
  • Как сделать адаптивный фон на CSS, чтобы края картинки обрезались?

    @DenJel
    Классика, лучший вариант имхо
    <div class="wrapper">
       <div class="inner"></div>
    <div>

    .wrapper {
       overflow-x: hidden;
       height: 300px;
    }
    .inner{
       background: blablabla;
       height: 300px;
       width: 600px; 
       position: relative;
       left: 50%; 
       margin-left: -300px;
    }
    Ответ написан
    Комментировать