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

    AlexanderBashkin
    @AlexanderBashkin
    function select() {
        const optionMenus = document.querySelectorAll('.select__menu');
    
        optionMenus.forEach(optionMenu => {
            const selectBtn = optionMenu.querySelector('.select__btn');
            const options = optionMenu.querySelectorAll('.select__option');
            const sBtntext = optionMenu.querySelector('.select__input');
    
            if (optionMenu) {
                selectBtn.addEventListener("click", function(e) {
                    let elem_active = optionMenu.classList.contains("_active")
                    optionMenus.forEach(opt => {
                        opt.classList.remove('_active');
                    })
                    optionMenu.classList.toggle("_active", !elem_active)
                });
    
                options.forEach(option => {
                    option.addEventListener("click", function(e) {
                        if (e.target.classList.contains('.select__option-text') != null) {
                            sBtntext.value = e.target.innerText;
                            // // //
                            document.querySelector('.total').innerHTML = e.target.innerText;
                            // // //
                        };
                        options.forEach(el => {
                            el.classList.remove('_active');
                        });
                        option.classList.add("_active");
                        optionMenu.classList.remove("_active")
                    });
                });
                window.addEventListener('click', e => {
                    const target = e.target
                    if (!target.closest('.select__options') && !target.closest('.select__menu')) {
                        optionMenu.classList.remove("_active")
                    }
                })
    
            }
        })
    }
    
    select()
    Ответ написан
    Комментировать
  • Как создать плавный скрол к якорю на новой странице?

    AlexanderBashkin
    @AlexanderBashkin
    $('.menu-item-1689').on('click', function() {
      $('html,body').animate({scrollTop: $('.kol-scrol').offset().top}, 1000);
    });
    $('.menu-item-1690').on('click', function() {
      $('html,body').animate({scrollTop: $('.pr-scrol').offset().top}, 1000);
    });
    $('.menu-item-1691').on('click', function() {
      $('html,body').animate({scrollTop: $('.dost-scrol').offset().top}, 1000);
    });
    $('.menu-item-1692').on('click', function() {
      $('html,body').animate({scrollTop: $('.onas-scrol').offset().top}, 1000);
    });
    $('.menu-item-1693').on('click', function() {
      $('html,body').animate({scrollTop: $('.kont-scrol').offset().top}, 1000);
    });
    Ответ написан