четверг, 23 ноября 2017 г.

Полезная функция предзагрузки изображений jQuery

Нашел очень полезную функцию, которая позволяет сделать какое нибудь действие после загрузки изображения.
Это может быть очень полезно, когда вы исползуете какой-нибудь кастомный вариант фанси бокса и сталкиваетесь с проблемой того, что он не может рассчитать свои отступы, потому что не успел прогрузить изображение.

$.preloadImages = function () {
    if (typeof arguments[arguments.length - 1] == 'function') {
        var callback = arguments[arguments.length - 1];
    } else {
        var callback = false;
    }
 
    if (typeof arguments[0] == 'object') {
        var images = arguments[0];
        var n = images.length;
    } else {
        var images = arguments;
        var n = images.length - 1;
    }
    var not_loaded = n;
    for (var i = 0; i < n; i++) {
        jQuery(new Image()).attr('src', images[i]).load(function() {
            if (--not_loaded < 1 && typeof callback == 'function') {
                callback();
            }
        });
    }
};
 
Эту функцию я нашел вот здесь.

Комментариев нет:

Отправить комментарий

Рабочий способо убрать хрип микрофона в Ubuntu 18.04

Переходим по ссылке и делаем также как в видео https://www.reddit.com/r/Ubuntu/comments/6zq3ca/remove_background_noise_on_the_mic_in_ubun...