четверг, 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();
            }
        });
    }
};
 
Эту функцию я нашел вот здесь.

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

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

Linux командная строка узнаем оставшееся место

Чтобы посмотреть общую картину того, сколько места осталось в системе можно выполнить команду: df -h Чтобы вывести на экран сколько мес...