我有一个页面,其中单击按钮会调用以下JavaScript代码。该页面使用jquery和jquery-ui进行动画制作。此代码使用jquery-ui的toggle
方法,而不是jquery的类似方法。
我故意为animation effect
的第一个参数传递一个不正确的值,以检查catch块是否按预期工作。
第一次单击该按钮并调用此代码时,将抛出异常并到达catch块。但是当我再次单击该按钮再次调用相同的代码时,则永远不会到达catch块,而是在catch块之后,即使第一个参数仍然无效,控制也会直接进入第一行。
问题:为什么无效的动画效果参数在第二次调用时不会抛出异常,而只是在第一次调用它时抛出它?
var emt = $("#cDiv");
try {
emt.hide();
emt.toggle("xyz", {
easing: "swing"
}, 1000, function() {
animationCompleted = true;
startPolling();
});
} catch (e) {
console.log(e.message);
}
更新1
我在jsfiddle上添加了一个代码示例来演示我的问题。该示例位于此网址:http://jsfiddle.net/sun21170/rm580npe/4/
在此代码示例中,如果从下拉列表中选择了有效的动画效果,则Custom Div
会按预期动画,但如果选择xyz
作为动画效果,则会出现错误这可以在错误div中看到。但是,如果Animate Custom Div
是选定的动画效果,则单击xyz
按钮时不会反复显示错误。