проверить, доступны ли методы JQuery UI - PullRequest
4 голосов
/ 23 декабря 2011

Я пишу плагин, который делает некоторые переключения, и мне нужен способ проверить, какие методы ослабления доступны.Я хочу поддерживать jQuery UI методы ослабления , если они доступны.Похоже, что они находятся в пакете эффектов в Custom Builder , но, поскольку это может быть не проверено, кажется недостаточно проверить, доступен ли jQuery UI.Я хочу конкретно проверить, что методы ослабления доступны.

Ответы [ 2 ]

7 голосов
/ 23 декабря 2011

Вы можете проверить это следующим образом:

if ( $.easing && $.easing.easeInOutQuad ) {
    // Use easing function easeInOutQuad
} else {
    // Use some other stuff
}

Вид из строки 597 в ядре пользовательского интерфейса (http://jqueryui.com/ui/jquery.effects.core.js).

Ссылка не работает, но она все равно должна работать.

1 голос
/ 24 декабря 2011

Вот то, что я собираюсь использовать:

function verifyEasing(input) { 
    return 'linear' === input || ($.easing && $.easing.hasOwnProperty(input)) ? input : false; 
}

Если ввод 'linear' или если он доступен из jQuery UI, он вернет его.В противном случае он вернет false.Я сделал это следующим образом: если вы передадите false в качестве значения .toggle(), то по умолчанию оно будет равно 'swing', то есть нет необходимости специально проверять swing.Например:

$('.target').toggle( 800, verifyEasing(input) );

Полагаю, если вы хотите проверить и пользовательские функции замедления, вы можете добавить проверку $.isFunction в логическое значение:

'linear' === input || ($.easing && $.easing.hasOwnProperty(input)) || $.isFunction(input)
...