4

我编写了一个插件来进行一些切换,我需要一种方法来检查可用的缓动方法。我想在可用时支持 jQuery UI缓动方法。看起来那些在自定义构建器的效果包中,但由于可以取消选中,因此检查 jQuery UI 是否可用似乎还不够。我想特别检查缓动方法是否可用。

4

2 回答 2

7

你可以这样检查:

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

请参阅597UI 核心 ( http://jqueryui.com/ui/jquery.effects.core.js ) 中的行。

链接它坏了,但它应该仍然有效。

于 2011-12-23T18:44:40.423 回答
1

这是我想我要使用的:

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

如果输入是'linear'或者如果它可以从 jQuery UI 获得,那么它将返回它。否则它将返回falsefalse如果你作为缓动值传递,我就是这样做的 b/c ,.toggle()那么它将默认为'swing'- 因此无需swing专门检查。像这样:

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

我想如果你也想检查自定义缓动函数,那么你可以$.isFunction在布尔值中添加一个检查:

'linear' === input || ($.easing && $.easing.hasOwnProperty(input)) || $.isFunction(input)
于 2011-12-24T18:10:04.173 回答