Цитата:
(или я что то не правильно понял..) http://webmaster.ayrveda.ru/333/js_template.html Поставил интервал 7000 но грузиться все равно всё сразу + не одномоментно. |
Mike_Kharkov,
Я поправил |
Чуть ускорил:
<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>
|
Всё равно та же проблема.
(на сколько я понял.) Поставил 3000 - но подгрузка происходит моментально. http://webmaster.ayrveda.ru/333/js_template.html |
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 должен стоять в самом конце страницы, дабы не утомлять пользователя задержками |
Смотрите.
Дело в том, что мне необходимо что бы картинки(в том числе и очень большие, при необходимости) подгружались не по частям, а целиком! (одномоментно!) В вашей реализации мне этого добиться не удалось потому, что не могу поставить большой временной интервал. Если временной интервал ставить маленьким то тогда картинка(если большая + скорость инета маленькая) разворачивается постепенно(как заранее свёрнутый бумажный лист). Именно такое развитие событий и не устраивает моего заказчика. Из за этого, собственно говоря, я и создал данный пост.. P.S. Понимаете мою мысль? |
Цитата:
тут возможны такие Варианты 1. Перевести все картинки в png - уже подгруженные - они рендяцо быстрее - но грузятся чуть долее 2. Отрендить загруженные картинки с opacity: 0 и абсолютным позицонированием (Окончание рендинга текущей картинки отслеживаем по высоте или ширине картинки(которую желательно знать заранее или тестировать прекращение её приращения), а затем перевести их класс в видимые |
Мысль примерно понял.
Спасибо! >> 2. Отрендить загруженные картинки с opacity: 0 и абсолютным позицонированием а затем перевести их класс в видимые Мне кажется абсолютное позиционирование будет лишним в данном случае? Или я ошибаюсь? (Всё равно же картинка будет изначально прозрачна. Какой смысл её позиционирование изменять?) |
Цитата:
второе - большие картинки рендяцо и при перемещении по странице так что желательно выставить обертку уже по размерам и там рендить картинку |
:) В принципе, при такой задаче, вероятно удобнее ставить картинки фоном к заранее созданным блокам с выставленными размерами, поскольку блоки с начальным opacity:0;эти блоки должны быть конечными ветками дерева, дабы не влиять на потомков
|
| Часовой пояс GMT +3, время: 09:15. |