Получение реальной ширины и высоты изображения в IE - PullRequest
2 голосов
/ 27 июля 2011

В настоящее время я создаю сайт и использую плагин Shadowbox JS для отображения изображений.

Поскольку мы обрабатываем изображения с помощью JSP (а не связываемся напрямую с файлами изображений), Shadowbox, похоже, не может определить динамическиих ширина и высота, и поэтому просто открывает изображения с наложением ~ размера экрана.

Можно вручную передать ширину и высоту плагину shadowbox с помощью 'rel', так что я обошел вокругпроблема для FF / Chrome / Safari с использованием следующего кода:

$('#pic1img').attr("src")).load(function() {
            picWidth    = this.width;
            picHeight   = this.height;
    });

 $(window).load(
            function() {
                var w = $("#pic1img").width();
                var h = $("#pic1img").height();
                if( picWidth < w ){ picWidth = w; }
                if( picHeight < h ){ picHeight = h; }
                $('#pic1').attr('rel', 'shadowbox[pics];height=' + picHeight + ';width=' + picWidth);
            }
 );

Но я не могу найти способ сделать то же самое в IE.

1 Ответ

3 голосов
/ 27 июля 2011

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

Проблема заключалась в том, что я устанавливал окружающий div на

display: none 

, пока изображения не были загружены, и IE не может определить размеры скрытых изображений.

Решил это, установив

visibility: hidden

вместо.

...