Javascript 带有选项的jQuery UI toggleClass方法不';不存在?
根据,有一个采用Javascript 带有选项的jQuery UI toggleClass方法不';不存在?,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,根据,有一个采用options对象的toggleClass方法。但是,在源代码中,我看不到支持此版本的方法。尝试执行以下操作时,不会出现动画: $("#element").toggleClass("fixed", showOrHide, { duration: animationDuration, easing: "swing", queue: false, children: true }); 我正在使用jQuery1.10.2和jQueryUI1.11.0。
options
对象的toggleClass
方法。但是,在源代码中,我看不到支持此版本的方法。尝试执行以下操作时,不会出现动画:
$("#element").toggleClass("fixed", showOrHide, {
duration: animationDuration,
easing: "swing",
queue: false,
children: true
});
我正在使用jQuery1.10.2和jQueryUI1.11.0。我是不是遗漏了什么 请查看并表明这不是冲突问题 注意:
.addClass(className[,options])
也不起作用
jQuery用户界面片段
toggleClass: (function( orig ) {
return function( classNames, force, speed, easing, callback ) {
if ( typeof force === "boolean" || force === undefined ) {
if ( !speed ) {
// without speed parameter
return orig.apply( this, arguments );
} else {
return $.effects.animateClass.call( this,
(force ? { add: classNames } : { remove: classNames }),
speed, easing, callback );
}
} else {
// without force parameter
return $.effects.animateClass.call( this,
{ toggle: classNames }, force, speed, easing );
}
};
})( $.fn.toggleClass )
像这样试试
var animationDuration=1000;
var t=true;
function showOrHide()
{
if(t)
t=false
else
t=true
return t;
}
$("#element").toggleClass( "fixed",showOrHide(),{duration:animationDuration, easing:"swing",queue: true});
you can also use like this
$("#element").toggleClass( "fixed",{switch:showOrHide,duration:animationDuration, easing:"swing",queue: true});
控制台中是否有任何错误?您是否导入了jQuery UI?您使用的是什么版本的jQuery和jQuery UI?我使用的是jQuery 1.10.2和jQuery UI 1.11.0。没有错误,只是什么也没发生。检查jQueryUIJS文件,我看不出该函数的
选项
版本是如何得到支持的。添加到问题中的代码。$(“#元素”).toggleClass(“固定”,{switch:showOrHide,duration:animationDuration,easing:swing,queue:true});这将起作用。您可以发布要切换其类的元素的标记吗?您是否尝试指定了children:true
,以防动画也应用于它的一些后代?添加了问题的JSFIDLE链接。您的第一个示例与我已经在做的(并在问题中发布)没有什么不同。第二个示例不支持开关
参数。