• Как вам качество кода (javascript)?

    freislot
    @freislot
    Frontend-разработчик
    Верно написали выше в комментарии, например начните с объединения кода addEventListener'ов. Это можно сделать разными способами. Легко гуглится по запросу addeventlistener on multiple elements.

    Вот эта запись obj.innerHTML-- работает (конкретно строка приводится к числу), но она не очевидна для других людей, читающих код. Это так называемая "магия" js, старайся избегать таких вот строк, где происходят не очевидные вещи, такие как приведение типов. Лучше завести переменную count например и присвоить ей 15 и работать с ней, а ее значение выводить на страницу.

    Дальше, я бы наверное сделал методы start() и stop() и в них уже описал логику таймаутов, но таймаут я бы тоже не использовал, я бы взял setInterval() и для остановки clearInterval().

    Ну остальное так по мелочи, я бы допустим все селекторы вынес на самый верх, там им место как мне кажется
    let successLink = document.querySelector('.success-link'),
    		successBlock = document.querySelector('.success-block'),
    		failBlock = document.querySelector('.fail-block'),
    		close = document.querySelector('.close'),
    		closeLink = document.querySelector('.close-link');
    		close2 = document.querySelector('.close2'),
    		closeLink2 = document.querySelector('.close-link2');

    И раз уж ты решил использовать ES6 синтаксис (let), то правильнее будет использовать const т.к селекторы не изменяются по коду. Ну и в целом форматирование и отступы надо соблюдать, не везде красиво скажем так :)
    Ответ написан
    Комментировать