Javascript 如何在jquery.mobile中检查转换名称是否有效?

Javascript 如何在jquery.mobile中检查转换名称是否有效?,javascript,jquery,jquery-mobile,transition,Javascript,Jquery,Jquery Mobile,Transition,我有一个javascript方法,它接受转换名称作为参数,并将其传递给jquery.mobile以更改页面: $.mobile.changePage(renderedPage, { transition: transition, reverse: reverse }); 现在我需要检查传递给我的方法的转换名称是否是有效的转换。(这是因为无效的转换名称将导致中断.changePage()方法) 我浏览了jquery.mobile的源代码,但找不到包含所有转换名称或转换处理程序的集合 有人有办法做

我有一个javascript方法,它接受转换名称作为参数,并将其传递给jquery.mobile以更改页面:

$.mobile.changePage(renderedPage, { transition: transition, reverse: reverse });
现在我需要检查传递给我的方法的转换名称是否是有效的转换。(这是因为无效的转换名称将导致中断.changePage()方法)

我浏览了jquery.mobile的源代码,但找不到包含所有转换名称或转换处理程序的集合


有人有办法做到这一点吗?

在jquery mobile中,只有六种转换可用。您可以确保给定的转换位于可用转换数组中。


但是,我无法在核心中找到一个数组或对象,该数组或对象直接引用了这些转换,我们可以使用这种方式动态构建此数组。

在jquery mobile中,只有六个转换可用。您可以确保给定的转换位于可用转换数组中。


但是,我在core中找不到一个数组或对象,该数组或对象直接引用了这些转换,我们可以用它来动态构建这个数组。

+1 for$.inArray,但是为什么要在转换arr中查找“reverse”?这只是一个布尔值。代码中的另一个问题:$.inArray()返回数组中元素的索引,因此当数组中不存在转换时,满足条件(即$.inArray()返回-1)。关于反向检查,我没有在jquery mobile中进行任何开发,并且假设错误。固定的。就$.inArray返回的-1而言,-1是一个假-y值,因此如果它显示为-1,它将默认为“slide”。如果您想要更精确的检查,可以使用!==-1这是错误的,js中的任何数值都假定为“真”,除非它等于“0”。看这里:对不起,你当然是对的。我不知道我从哪里得到的。$.inArray的+1,但为什么你要在transitionArr中查找“reverse”?这只是一个布尔值。代码中的另一个问题:$.inArray()返回数组中元素的索引,因此当数组中不存在转换时,满足条件(即$.inArray()返回-1)。关于反向检查,我没有在jquery mobile中进行任何开发,并且假设错误。固定的。就$.inArray返回的-1而言,-1是一个假-y值,因此如果它显示为-1,它将默认为“slide”。如果您想要更精确的检查,可以使用!==-1这是错误的,js中的任何数值都假定为“真”,除非它等于“0”。看这里:对不起,你当然是对的。我不知道我从哪里得到的。
var transitionArr = ["slide","slideup","slidedown","pop","fade","flip"];
$.mobile.changePage(renderedPage, {
  transition: $.inArray(transition,transitionArr) == -1 ? transition : "slide",
  reverse:reverse
});