检查jQuery UI缓动方法是否可用

时间:2011-12-23 17:54:13

标签: javascript jquery jquery-ui plugins easing

我编写了一个执行某些切换的插件,我需要一种方法来检查可用的缓动方法。我希望在可用时支持jQuery UI easing methods。看起来这些都在custom builder的效果包中,但由于可以取消选中,因此检查jQuery UI是否可用似乎不够。我想具体检查缓和方法是否可用。

2 个答案:

答案 0 :(得分:7)

你可以这样检查:

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

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

链接它已损坏但仍应有效。

答案 1 :(得分:1)

以下是我认为我将要使用的内容:

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

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

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

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

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