Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Расчёт высоты загруженного в окно контента с задержкой

70K
15 августа 2013 года
mirra88
7 / / 24.04.2013
Подскажите, пожалуйста, как правильно написать. При медленном интернете а так же в Google Chrome загрузка картинок происходит с задержкой. И функция $(window).resize, которую я вызываю и при загрузке страницы (часть её привожу):
 
Код:
$(window).resize(function()
{
    var windowh = $(window).height();
    var podchetcontenth = windowh - $('#top_tat').height() 
});
выполняется до того, как загрузились картинки. В итоге некорректно устанавливается высота div-вов (я их в этой функции устанавливаю).
Подскажите, пожалуйста, как правильно вписать вызов $(window).resize в setTimeout() , чтобы $(window).resize, в том числе при загрузке, выполнялась бы с задержкой?
Пробовала вот так (при вызове):
 
Код:
setTimeout($(window).resize() , 1000);
пробовала и внутри:
 
Код:
$(window).resize(setTimeout((function()
{
    var windowh = $(window).height();
    var podchetcontenth = windowh - $('#top_tat').height() 
} , 1000));
Но что-то не получается...
8
15 августа 2013 года
mfender
3.5K / / 15.06.2005
Не шибко хорошо так делать. Лучше нативно и кроссбраузерно:

Код:
function pageBounds() {
    var horizontalScroll, verticalScroll, windowWidth, windowHeight;;

    if (window.innerHeight && window.scrollMaxY) {
        horizontalScroll = document.body.scrollWidth;
        verticalScroll = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight) {
        horizontalScroll = document.body.scrollWidth;
        verticalScroll = document.body.scrollHeight;
    } else if (document.documentElement && document.documentElement.scrollHeight > document.documentElement.offsetHeight) {
        horizontalScroll = document.documentElement.scrollWidth;
        verticalScroll = document.documentElement.scrollHeight;
    } else {
        horizontalScroll = document.body.offsetWidth;
        verticalScroll = document.body.offsetHeight;
    }

    if (self.innerHeight) {
        windowWidth = self.innerWidth;
        windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) {
        windowWidth = document.documentElement.clientWidth;
        windowHeight = document.documentElement.clientHeight;
    } else if (document.body) {
        windowWidth = document.body.clientWidth;
        windowHeight = document.body.clientHeight;
    }

    if (verticalScroll < windowHeight) {
        pageHeight = windowHeight;
    } else {
        pageHeight = verticalScroll;
    }

    if (horizontalScroll < windowWidth) {
        pageWidth = windowWidth;
    } else {
        pageWidth = horizontalScroll;
    }

    return {
        'pageWidth' : pageWidth,
        'pageHeight' : pageHeight,
        'windowWidth' : windowWidth,
        'windowHeight' : windowHeight
    };
}
_pageSizes = pageBounds();

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог