Чи є функція .swap () корисною?

Переглядаючи джерело з 1.7rc1, рядок 6625, я знайшов функцію .swap :

// A method for quickly swapping in/out CSS properties to get correct calculations
swap: function( elem, options, callback ) {
    var old = {};

   //Remember the old values, and insert the new ones
    for ( var name in options ) {
        old[ name ] = elem.style[ name ];
        elem.style[ name ] = options[ name ];
    }

    callback.call( elem );

   //Revert the old values
    for ( name in options ) {
        elem.style[ name ] = old[ name ];
    }
}

Я ніколи не бачив його раніше. Чи дійсно люди це використовують? Для чого?

0
@ Блендер: Звичайно, чому б і ні?
додано Автор Randomblue, джерело
Ви просто читали джерело jQuery для веселощів?
додано Автор Blender, джерело
Це приватна функція ( не documented ), тому це явно не для користувачів jQuery .
додано Автор Matt Ball, джерело
Якщо ви подивитеся кілька рядків вниз, ви побачите, що він використовується .. Це, швидше за все, для внутрішнього використання ..
додано Автор Gabriele Petrioli, джерело
додано Автор Petr, джерело

1 Відповіді

.swap(elem, options, callback) is a function that temporarily sets a number of CSS values (those passed in object of the 2nd argument), calls the callback (the 3rd argument) and then restores the original CSS values after the callback returns.

jQuery використовує його для тимчасового зміни макета речей, щоб зробити деякі вимірювання. Наприклад, якщо ви виберете об'єкт div та встановите його в position: absolute , ви зможете отримати його справжню ширину, але якщо вона знаходиться в звичайному розташуванні документа, div приймає ширину це контейнер. Якщо ви переходите до дзвінка jQuery до .width() або подивіться, як ця функція реалізована в джерелі, ви побачите, що вона використовується.

Я впевнений, що ви можете винайти/знайти щось інше, щоб використовувати його, але я не знайшов потреби в цьому, крім типів вимірювань, які використовує jQuery.

1
додано