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

发布于 2024-12-22 19:23:57 字数 278 浏览 1 评论 0原文

我编写了一个可以进行一些切换的插件,我需要一种方法来检查哪些缓动方法可用。我想支持 jQuery UI 缓动方法(如果可用)。看起来这些位于 自定义生成器 的效果包中,但是,由于可以取消选中它,因此它不会似乎足以检查 jQuery UI 是否可用。我想具体检查缓动方法是否可用。

I writing a plugin that does some toggling and I need a way to check what easing methods are available. I want to support the jQuery UI easing methods when available. It looks like those are in the effects package in the custom builder but, since that could be unchecked, it doesn't seem sufficient to check that jQuery UI is available. I want to check specifically that the easing methods are available.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

薄荷港 2024-12-29 19:23:57

你可以这样检查:

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

从 UI 核心 (http://jqueryui.com/ui/jquery.effects.core.js) 中的 597 行查看。

链接已损坏,但应该仍然有效。

you can check it this way:

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

See from line 597 in UI core (http://jqueryui.com/ui/jquery.effects.core.js) .

Link it broken but it should still work.

若水般的淡然安静女子 2024-12-29 19:23:57

我想我将使用以下内容:

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

如果输入是“线性”或者可以从 jQuery UI 获取,那么它将返回它。否则将返回false。我这样做是因为如果您将 false 作为 .toggle() 缓动值传递,那么它将默认为 'swing' —因此不需要专门检查 swing 。像这样:

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

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

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

Here's what I think I'm going to use:

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

If the input is 'linear' or if it's available from jQuery UI then it will return it. Otherwise it will return false. I did it like that b/c if you pass false as the .toggle() easing value then it will default to 'swing'—hence no need to check for swing specifically. Like this:

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

I guess if you want to check for custom easing functions too then you could add an $.isFunction check to the boolean:

'linear' === input || ($.easing && $.easing.hasOwnProperty(input)) || $.isFunction(input)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文