эффект плавной прокрутки с использованием анимации не работает на IE - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть функциональность, при которой при щелчке по пункту меню он прокручивается до этого раздела на следующей странице. Это работает очень плавно на Firefox, Chrome, Edge, но в IE, после нажатия на пункт меню, вы НЕМЕДЛЕННО переходите краздел без эффекта прокрутки.Однако эффект прокрутки работает плавно, когда я нажимаю на разные элементы на одной странице. Он не работает только при переходе с одной страницы на другую.

Код JS

var hashURL = location.hash;
    if (hashURL != "" && hashURL.length > 1) {
        $(window).scrollTop(0); 
        setTimeout(function () {    
            smoothScrollTo(hashURL)
        }, 1500);
    }

function smoothScrollTo(anchor) {
        var topMenuHeight = $('header').outerHeight()
        var duration = 800; 
        var targetY;
        if($(anchor).length > 0) {   
            if (currentDevice == "desktop" || currentDevice == "ipad-landscape") {
                    targetY = $(anchor).offset().top - 159 + 63
                }else{
                    targetY = $(anchor).offset().top - topMenuHeight 
                }
                $("html, body").animate({
                    "scrollTop": targetY
                    }, duration, 'linear');
            }
        }

Пожалуйстапомощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...