Проблема с ротатором изображений javascript, изображение по умолчанию

Я написал простой ротатор изображений javascript, который выбирает случайное изображение при каждой загрузке страницы. Проблема в том, что если я использую изображение по умолчанию, это изображение по умолчанию будет отображаться на секунду, прежде чем javascript загрузится и заменит его. Очевидно, что если у кого-то отключен javascript, я хочу, чтобы они видели изображение. Как я могу получить изображение по умолчанию без мерцания изображения по умолчанию.

Поведение ключевого слова "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) для оценки ваших знаний,...
3
0
1 307
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Если вы скроете изображение по умолчанию как первое, что вы сделаете при загрузке страницы, у пользователей, вероятно, не будет шанса увидеть изображение. Затем вы можете установить обработчик загрузки на образ и изменить его источник на свое случайное изображение. Когда изображение загрузится, вы можете показать его.

window.onload = function () {
    var img = document.getElementById("rotating_image");

    // Hide the default image that's shown to people with no JS
    img.style.visibility = "hidden";

    // We'll unhide it when our new image loads
    img.onload = function () {
        img.style.visibility = "visible";
    };

    // Load a random image
    img.src = "http://example.com/random" + Math.floor(Math.random() * 5) + ".jpg";

};

Вы также можете подумать о том, чтобы просто разместить JS сразу после изображения. Это может выполнить JS в момент, а не при загрузке страницы. Но я не уверен в этом.

<img src = "/not/rotated/image.jpg" />
<script type = "text/javascript">
// change image
</script>
Ответ принят как подходящий

Похоже, вы хотите изменить HTML-страницу страницы до запуска window.onload (потому что в этот момент изображение по умолчанию уже было отображено).

Вам необходимо прикрепить свою функцию javascript к «DOMContentLoaded» или обычно называемому событию domready. Дин Эдвардс предоставил нам фантастическую кроссбраузерную реализацию http://dean.edwards.name/weblog/2006/06/again/.

Надеюсь, это поможет :)

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