Когда я использую Windows Performance Timing, мой конец события загрузки равен 0

Итак, я пытаюсь сделать так, чтобы индикатор выполнения отображался на моей странице как ПРЕДЗАГРУЗЧИК. Я не могу процитировать, кажется, правильно понял математику, чтобы индикатор выполнения использовал точные проценты, поэтому я вернулся к использованию установленных таймингов.

Итак, я измерил время загрузки 1 изображения в моем предварительном загрузчике, а затем на основе количества миллисекунд, которые потребовались для загрузки, добавил классы к моей анимации, которые в основном либо замедляли, либо ускоряли.

Извините, если он запутан или не СУХОЙ. Я новичок в JS.

К сожалению, как бы МЕДЛЕННО я ни устанавливал соединение через DevTools, я продолжал получать класс «очень быстро». Итак, я проверил с помощью консоли и получил эти значения, которые не имеют смысла:

perfData.loadEventEnd: 0 perfData.loadEventStart: 1538796857083 LoadTime: -1538796857083

Как это возможно? Что происходит и как я могу исправить?

Я добавил свой сценарий перед концом заголовка и поставил onload = "loadTime ();" в используемом внутри моего прелоадера.

Вот код:

        <script>
        // Measure Loadtime
        var loadTime = function(){
            setTimeout(function(){
                var perfData = window.performance.timing;
                var EstimatedTime = (perfData.loadEventEnd - perfData.navigationStart);

                if (EstimatedTime<1400){
                    $('#prefiller').addClass('fill-vfast')
                    console.info(perfData.loadEventEnd)
                    console.info(perfData.navigationStart)
                    console.info(EstimatedTime)
                }else if (EstimatedTime<2100){
                    $('#prefiller').addClass('fill-fast')
                    console.info(perfData.loadEventEnd)
                    console.info(perfData.navigationStart)
                    console.info(EstimatedTime)
                }else if (EstimatedTime<2800){
                    $('#prefiller').addClass('fill-slow')
                    console.info(perfData.loadEventEnd)
                    console.info(perfData.navigationStart)
                    console.info(EstimatedTime)
                }else {
                    $('#prefiller').addClass('fill-vslow')
                    console.info(perfData.loadEventEnd)
                    console.info(perfData.navigationStart)
                    console.info(EstimatedTime)
                }
            });  // Executes 10 ms after load has ended
        };  
    </script>
</head>

<body>
    <!-- #preloader -->
    <div id = "preloader">
        <div id = "preloader-logo">
            <img src = "/logo.png" onload = "loadTime();">
            <div class = "grayscaler" id = "prefiller"><img src = "/logo.png"></div>      
        </div>
    </div>
    <!-- /#preloader -->

Вы действительно пытаетесь показать прогресс одного изображения (потому что я думаю, что это будет сложно, или вы хотите показать прогресс для чего-то еще? Window.performance.timing отображает информацию, относящуюся к самому документу, а не к конкретному элементу.

Nick Wyman 06.10.2018 06:55

Сами изображения работают отлично. Достигнутый эффект представляет собой версию логотипа в оттенках серого, которая постепенно заполняется цветом. Я надеялся назначить разные классы на основе предполагаемой скорости загрузки страницы, поскольку каждый класс будет заставлять анимацию CSS иметь разную скорость. Есть какой-либо способ сделать это?

user2437242 06.10.2018 10:08
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
124
0

Другие вопросы по теме