30 / 30 / 5
Регистрация: 01.05.2012
Сообщений: 350
Записей в блоге: 1
1

Как узнать, что картинка полностью загружена, чтобы узнать её размеры

12.10.2012, 11:58. Показов 15173. Ответов 10
Метки нет (Все метки)

Здраствуйте ! Делаю галерею. Мне нужно узнать когда картинка загрузица полносттю, чтобы узнать её размеры. Подскажыте, читал ето делаеца както через onload но не разобрался как.
P.S. Без использывание AJAX
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2012, 11:58
Ответы с готовыми решениями:

Как узнать, что страница в браузере полностью прогружена?
Есть планы по разработке кликера (нет, не для спама или читерства:)) для браузера на VDS (VPS), но...

Как узнать размеры background-size: contain ?
Доброй ночи! Есть блок с background-size: contain. Размеры блока известны, размеры оригинальной...

Как узнать загрузилась ли картинка?
Добрый день. У меня на странице несколько изображений. Все они грузятся не очень быстро. Пытаюсь...

Как узнать, что вся дата в MaskEdit введена полностью
Здравствуйте! Есть MaskEdit, у него стоит маска ввода даты, пример 12/12/2009. Если пользователя...

10
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.10.2012, 13:05 2
onload - это в javascript, в jquery событие load. Это событие срабатывает, когда браузер загрузит полностью все элементы - картинки, стили, скрипты и т.д.
Javascript
1
2
3
$(window).load(function() {
...
});
0
30 / 30 / 5
Регистрация: 01.05.2012
Сообщений: 350
Записей в блоге: 1
12.10.2012, 14:36  [ТС] 3
А если мне нужно проверить когда загрузица именно картинка ?
Javascript
1
2
3
$('#img').load(function(){
   alert('Так ?');
});
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.10.2012, 14:37 4
да, как то так

Добавлено через 30 секунд
почему бы не попробовать да не проверить?
0
30 / 30 / 5
Регистрация: 01.05.2012
Сообщений: 350
Записей в блоге: 1
12.10.2012, 14:45  [ТС] 5
Да в том и дело что пробывал когдато, и не получалось.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.10.2012, 14:48 6
http://noteskeeper.ru/35/

Добавлено через 1 минуту
вот так по идее должно работать вообще..
HTML5
1
<img src="..." onload="foo();" />
0
9 / 9 / 8
Регистрация: 09.01.2012
Сообщений: 70
12.10.2012, 20:07 7
Цитата Сообщение от Tesla Посмотреть сообщение
Да в том и дело что пробывал когдато, и не получалось.
в некоторых случаях, если картинка содержится в кеше браузера, событие load может не произойти. Для такого случая можно воспользоваться специальным событием event.special.load
0
30 / 30 / 5
Регистрация: 01.05.2012
Сообщений: 350
Записей в блоге: 1
12.10.2012, 22:30  [ТС] 8
Роскажыте пожалуйста как етим пользываца. Я был бы вам очень благодарен если бы вы показали ето на примере.
KOPOJI - спасибо !
0
9 / 9 / 8
Регистрация: 09.01.2012
Сообщений: 70
12.10.2012, 22:45 9
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(function ($) {
    $.event.special.load = {
        add: function (hollaback) {
            if ( this.nodeType === 1 && this.tagName.toLowerCase() === 'img' && this.src !== '' ) {
                // Image is already complete, fire the hollaback (fixes browser issues were cached
                // images isn't triggering the load event)
                if ( this.complete || this.readyState === 4 ) {
                    hollaback.handler.apply(this);
                }
 
                // Check if data URI images is supported, fire 'error' event if not
                else if ( this.readyState === 'uninitialized' && this.src.indexOf('data:') === 0 ) {
                    $(this).trigger('error');
                }
                
                else {
                    $(this).bind('load', hollaback.handler);
                }
            }
        }
    };
}(jQuery));
И кстати, для спасибо есть отдельная кнопка, она доставляет гораздно больше чем просто слова, даже в Капс Локе)
0
30 / 30 / 5
Регистрация: 01.05.2012
Сообщений: 350
Записей в блоге: 1
12.10.2012, 22:50  [ТС] 10
Мои знания js и jq, не позволяют мне розобраца в вашем коде. Можна немного попроще и с коментариями ?

Чтобы я не создавав новую тему подскажыте. Каждому событию можна добавить в конце function ?
Например
Javascript
1
2
3
$('$id').css({'width' : '100'}, function(){
   alert('Так можна делать ?');
});
0
9 / 9 / 8
Регистрация: 09.01.2012
Сообщений: 70
13.10.2012, 02:09 11
http://www.wisdomweb.ru/JQd/event.php
Здесь собраны Обработчики событий. И прежде чем задавать такой вопрос,нужно хотя бы прочитать справочник по JQ))
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2012, 02:09
Помогаю со студенческими работами здесь

Как программно узнать загружена ли страница
Имеется браузер firefox. Необходимо узнать завершена ли загрузка страницы.

Как сделать, чтобы была заглушка, когда не загружена картинка
как сделать так что бы была заглука когда не загружена картиинка...

Как узнать откуда загружена динамическая библиотека?
Доброго всем времени суток! Подскажите как из кода динамической библиотеки получить путь к ней...

Как узнать загружена форма или нет?
Как узнать загружена форма или нет? Спасибо.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru