Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.07.2013, 04:09
Аватар для Mike_Kharkov
Кандидат Javascript-наук
Отправить личное сообщение для Mike_Kharkov Посмотреть профиль Найти все сообщения от Mike_Kharkov
 
Регистрация: 04.01.2012
Сообщений: 143

Сообщение от Deff Посмотреть сообщение
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script>var d = 0;</script>
<div id=out></div>
<div style="position:absolute;z-index:-100;wisth:2px;height:2px;overflow:hidden" onload="++d">
<img src="http://javascript.ru/forum/image.php?u=18034&dateline=1325652067" onload="++d">
<img class="img" src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235" onload="++d">
<img class="img"src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235" onload="++d">
<img class="img"src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235" onload="++d">
</div>
<script>
alert(d)
var len = $(".img").size();
var int = setInterval(function () {
  if (d == len) {
    $(".img").appendTo("#out");
     clearInterval(int);
  }
}, 100);

</script>
У меня почему то этот пример не работает.
(или я что то не правильно понял..)
http://webmaster.ayrveda.ru/333/js_template.html
Поставил интервал 7000 но грузиться все равно всё сразу + не одномоментно.
Ответить с цитированием
  #12 (permalink)  
Старый 25.07.2013, 04:14
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Mike_Kharkov,
Я поправил
Ответить с цитированием
  #13 (permalink)  
Старый 25.07.2013, 04:28
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Чуть ускорил:
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script>var d = 0;</script>
<style>
.hide {
  position:absolute;
  z-index:-100;
  visibility:hidden;
}
</style>
<div class="hide">
<img  class="img" src="http://javascript.ru/forum/image.php?u=18034&dateline=1325652067"  onload="d++">
<img class="img" src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235" onload="d++">
<img class="img"src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235" onload="d++">
<img class="img"src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235" onload="d++">
</div>
<script>
var len = $(".img").length;
var int = setInterval(function () {
  if (d >= len) {
    $(".hide").removeClass("hide");
     clearInterval(int);
  }
}, 100);
</script>
Ответить с цитированием
  #14 (permalink)  
Старый 25.07.2013, 04:36
Аватар для Mike_Kharkov
Кандидат Javascript-наук
Отправить личное сообщение для Mike_Kharkov Посмотреть профиль Найти все сообщения от Mike_Kharkov
 
Регистрация: 04.01.2012
Сообщений: 143

Всё равно та же проблема.
(на сколько я понял.)
Поставил 3000 - но подгрузка происходит моментально.
http://webmaster.ayrveda.ru/333/js_template.html
Ответить с цитированием
  #15 (permalink)  
Старый 25.07.2013, 05:12
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Mike_Kharkov,
ерунда увеличивать, - 100 - норма для теста, особенно если картинки малые - у меня нормально работает на всех браузерах и картинках... Поскольку идея однозначная - как только подгружены все - все и вылазит, другое дело, что само открытие картинок, лучше делать после рендинга всей страницы, т.е после загрузки картинок дождаться $(document).ready(function()

<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script>var d = 0;</script>
<style>
.hide {
  position:absolute;
  z-index:-100;
  visibility:hidden;
}
</style>
<div class="hide">
<img  class="img" src="http://javascript.ru/forum/image.php?u=18034&dateline=1325652067"  onload="d++">
<img class="img" src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235" onload="d++">
<img class="img"src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235" onload="d++">
<img class="img"src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235" onload="d++">
</div>
<script>
var len = $(".img").length;
var int = setInterval(function () {
  if (d >= len) {
$(document).ready(function(){
    $(".hide").removeClass("hide");
    clearInterval(int);
});

  }
}, 100);
</script>


Типично же, применяют вариант подгрузки картинок на предыдущей странице, перед показом, в аналогичный cкрытый div, - без всяких скриптов, (типично пользователь на ней находится долее подгрузки их всех
div должен стоять в самом конце страницы, дабы не утомлять пользователя задержками

Последний раз редактировалось Deff, 25.07.2013 в 05:19.
Ответить с цитированием
  #16 (permalink)  
Старый 25.07.2013, 05:19
Аватар для Mike_Kharkov
Кандидат Javascript-наук
Отправить личное сообщение для Mike_Kharkov Посмотреть профиль Найти все сообщения от Mike_Kharkov
 
Регистрация: 04.01.2012
Сообщений: 143

Смотрите.
Дело в том, что мне необходимо что бы картинки(в том числе и очень большие, при необходимости) подгружались не по частям, а целиком!
(одномоментно!)
В вашей реализации мне этого добиться не удалось потому, что не могу поставить большой временной интервал.
Если временной интервал ставить маленьким то тогда картинка(если большая + скорость инета маленькая) разворачивается постепенно(как заранее свёрнутый бумажный лист). Именно такое развитие событий и не устраивает моего заказчика.
Из за этого, собственно говоря, я и создал данный пост..
P.S. Понимаете мою мысль?

Последний раз редактировалось Mike_Kharkov, 25.07.2013 в 05:24.
Ответить с цитированием
  #17 (permalink)  
Старый 25.07.2013, 05:31
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Mike_Kharkov
то тогда картинка(если большая + скорость инета маленькая) разворачивается постепенно(как заранее свёрнутый бумажный лист).
Тут уже речь не о подгрузке(подгрузка по скрипту уже завершена), а о рендинге - браузером
тут возможны такие Варианты
1. Перевести все картинки в png - уже подгруженные - они рендяцо быстрее - но грузятся чуть долее
2. Отрендить загруженные картинки с opacity: 0 и абсолютным позицонированием
(Окончание рендинга текущей картинки отслеживаем по высоте или ширине картинки(которую желательно знать заранее или тестировать прекращение её приращения), а затем перевести их класс в видимые

Последний раз редактировалось Deff, 25.07.2013 в 05:36.
Ответить с цитированием
  #18 (permalink)  
Старый 25.07.2013, 05:36
Аватар для Mike_Kharkov
Кандидат Javascript-наук
Отправить личное сообщение для Mike_Kharkov Посмотреть профиль Найти все сообщения от Mike_Kharkov
 
Регистрация: 04.01.2012
Сообщений: 143

Мысль примерно понял.
Спасибо!

>> 2. Отрендить загруженные картинки с opacity: 0 и абсолютным позицонированием
а затем перевести их класс в видимые

Мне кажется абсолютное позиционирование будет лишним в данном случае? Или я ошибаюсь?
(Всё равно же картинка будет изначально прозрачна. Какой смысл её позиционирование изменять?)
Ответить с цитированием
  #19 (permalink)  
Старый 25.07.2013, 05:40
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Mike_Kharkov
Мне кажется абсолютное позиционирование будет лишним в данном случае? Или я ошибаюсь?
Если не абсолютное - то внешний блок будет видимо менять размеры при большой картинке, если наплевать - то можно и не абсолютно
второе - большие картинки рендяцо и при перемещении по странице
так что желательно выставить обертку уже по размерам и там рендить картинку
Ответить с цитированием
  #20 (permalink)  
Старый 25.07.2013, 05:58
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

В принципе, при такой задаче, вероятно удобнее ставить картинки фоном к заранее созданным блокам с выставленными размерами, поскольку блоки с начальным opacity:0;эти блоки должны быть конечными ветками дерева, дабы не влиять на потомков
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подгрузка картинок при скроллинге Александр141 Серверные языки и технологии 1 15.05.2013 18:36
Запись свойств картинок в строку Torch`Ok Events/DOM/Window 7 19.02.2013 16:49
подгрузка картинок land15 Элементы интерфейса 3 08.09.2012 23:01
Загрузчик картинок Livanderiaamarum Общие вопросы Javascript 1 15.01.2012 17:21
Как сделать прокрутку картинок Lugan Элементы интерфейса 1 26.06.2009 12:52