Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Прелоадер без Jquery (https://javascript.ru/forum/misc/56451-preloader-bez-jquery.html)

qwe88 16.06.2015 20:31

Прелоадер без Jquery
 
Помогите, пожалуйста, советом.
Не могу никак сообразить как реализовать отсчет цифр от 0 до 100, пока грузится страница.
Сначала пришла идея сделать отсчет от 0 до 100 с определенным интервалом. А интервал пытался вычеслить через window.onload , но в итоге ничего путного не вышло.
В интернете есть куча прелоадеров на Jquery и даже на CSS. Но хочется самому написать на JavaScript
Помогите, пожалуйста, хотя бы советом, что зачем идет.

Decode 16.06.2015 22:35

qwe88, а если так?

<!doctype html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
  <style>
    .preload {
      font-size: 3em;
    }
  </style>
</head>
<body>
  <div class="preload"></div>
  <iframe src="http://javascript.ru" frameborder="0"></iframe>
  <iframe src="http://javascript.ru/forum/" frameborder="0"></iframe>
  <iframe src="http://javascript.ru" frameborder="0"></iframe>
  
  <script>
    var preload = document.getElementsByClassName('preload')[0], i = 0;
    
    var timer = setInterval(function() {
      preload.innerHTML = i++ % 100;
    }, 100);
    
    
    window.onload = function() {
      clearInterval(timer);
      preload.innerHTML = 'Страница полностью загружена';
    };
  </script>
</body>
</html>

qwe88 16.06.2015 23:33

Спасибо, но нужно обязательно до 100

рони 16.06.2015 23:51

Цитата:

Сообщение от qwe88
Не могу никак сообразить как реализовать отсчет цифр от 0 до 100, пока грузится страница.

никак.

qwe88 16.06.2015 23:58

Делают же прелоадеры процентные на Jquery. А как сделать на JS?
Возможно как-то частями подгружать?

рони 17.06.2015 00:12

qwe88,
никак, ни на Jquery, ни на JS -- подумайте над чем нибудь другим.

qwe88 17.06.2015 08:32

Подскажите, пожалуйста, как сделана эта штука?
http://promocenter.com.ua/index.html

tsigel 17.06.2015 09:00

qwe88,
Вы можете делать прелоадер и считать процент не от того на сколько страница загружена а от того сколько ваших компонентов загружено. Например я делал игру, в которой было много картинок, которые были необходимы для игры. И я делал прелоадер пока картинки не загрузятся. Получить процент загрузки каждой картинки нельзя (по крайней мере обычным способом), но можно считать процент от количества загруженных картинок. Конечно прелоадер при этом движется не равномерно из за того что картинки разного размера, но это похоже на то, что вам надо.

tsigel 17.06.2015 09:12

Пример прелоадера одной картинки:
// показать прелоадер
var img = new Image();
img.src = 'image source';
img.onload = function () {
  // убрать прелоадер
};

Для большого количества картинок надо обернуть это в цикл и при каждой загрузке увеличивать процент.

qwe88 17.06.2015 09:17

Круто, спасибо огромное!


Часовой пояс GMT +3, время: 01:52.