问题是,当我使用没有任何选项的切换功能时,即默认选项,项目上的“is(':visible')”会返回正确的状态。
但是,当我使用切换(“慢”)时,它会显示不正确的状态,并且总是将切换操作的项目显示为可见错误。当然,我正在检查回调函数内部,以确保动画是完整的。
请看下面的代码
jQuery(document).ready(function () {
var h3 = jQuery("#myAccordion").find('h3');
jQuery("#myAccordion").find('h3').find('span').addClass("ui-state-active ui-icon");
jQuery.each(h3, function () {
jQuery(this).bind('click', function () {
jQuery(this).next('div').toggle("slow", "swing", callback);
});
});
});
function callback () {
if (jQuery(this).next('div').is(':visible')) {
alert('visible--' + jQuery(this).next('div').is(':visible'));
jQuery(this).find('span').removeClass("ui-state-default ui-icon").addClass("ui-state-active ui-icon");
}
else {
alert('visible--' + jQuery(this).next('div').is(':visible')); // always goes into this 'else' even though the item is visible.
jQuery(this).find('span').removeClass("ui-state-active ui-icon").addClass("ui-state-default ui-icon");
}
}
然而,当不使用带切换的“慢”选项时,同样可以正常工作。
更新 2:在这里查看http://jsfiddle.net/tariquasar/7xt7D/2/
任何指针...
更新 1:这是小提琴http://jsfiddle.net/tariquasar/7xt7D/