Я пишу плагин jQuery и хотел бы, чтобы в моем коде использовались функции jQuery UI show(effect, [options], [speed], [callback])
и hide(effect, [options], [speed], [callback])
, которые позволяют отображать и скрывать элементы с приятной анимацией.
Однако я также хотел бы, чтобы мой плагин изящно ухудшался, если пользовательский интерфейс jQuery недоступен, переключаясь обратно на использование базовых неанимирующих функций show()
и hide()
, присутствующих в стандартном API jQuery. *
Мне нужно будет специально протестировать функции show и hide, так как даже если jQuery UI доступен , это может быть пользовательская версия без включенных компонентов Effects.
Сначала я подумал, что смогу сделать что-то вроде:
if(typeof myelement.show('blind', 'slow') == 'undefined')
{
myelement.show('blind', 'slow');
}
else
{
myelement.show();
}
Но, конечно, это не работает, так как даже если пользовательский интерфейс отсутствует, show()
все еще является функцией, он просто имеет другую сигнатуру, поэтому typeof
возвращает object
в любом случае.
Итак, как лучше всего проверить, доступен ли jQuery UI моему плагину? Любая помощь очень ценится!