Задать вопрос
  • Как в SPA записать состояние в historyAPI при этом не отменить ветку при шаге назад?

    @Sviaznoi Автор вопроса
    Всё оказалось проще чем я думал. Просто надо было прикрепить replaceState к событию прокрутки и немного подтроттлить его:
    let scrollE = () => {     
        scrollP = window.scrollY;;
        history.replaceState({name: cp(), scroll: scrollP, path: window.location.pathname},"",window.location.pathname);
    }
    
    let throttle = (callee, timeout) => {
        let timer = null;
        return function perform(...arg){
            if(timer) return;
            timer = setTimeout(() => {
                callee(...arg);
                timer = null;
            }, timeout);
        }
    }
    
    let scrollET = throttle(scrollE, 100);
    
    window.addEventListener("scroll", scrollET);
    
    window.addEventListener("popstate", async(e) => { 
        if (e.state) {
            switch(e.state.name){
                case 'relax':
                    relaxWork("y");
                    break;
                case 'main':                
                    await res("y");                
                    break;
                default:                             
                    await contentF(e.state.name, "y");                
            }
            window.scrollTo(0, e.state.scroll);      
        }
    });
    Ответ написан
    Комментировать
  • Почему не работает transition свойство в scss файле через webpack?

    @Sviaznoi Автор вопроса
    .screen {
      width: 250px ;
      height: 250px;
      border: 2px solid black;
      border-radius: 20px;
      transition: all 0.5s;
    }
    
    .gradient {
      background: linear-gradient(0deg, yellow 0%, red 50%, yellow 100%);
      background-size: 150%;
    }
    
    .gradient:hover {
      background-position-y: 40px;

    Данный код работает в чистом css.
    Ответ написан