【发布时间】:2012-12-12 11:12:09
【问题描述】:
$("#btnGall").click(function() {
$('#gall').slideToggle('slow');
$("#gInfo").show();
});
为什么这段代码先执行第二行,然后执行第一行。
我不想在 slideToggle 完成之前显示 #gInfo。
【问题讨论】:
标签: jquery show slidetoggle
$("#btnGall").click(function() {
$('#gall').slideToggle('slow');
$("#gInfo").show();
});
为什么这段代码先执行第二行,然后执行第一行。
我不想在 slideToggle 完成之前显示 #gInfo。
【问题讨论】:
标签: jquery show slidetoggle
从指定为传递给滑动切换函数的成功回调的匿名函数调用该函数。
$("#btnGall").click(function() {
$('#gall').slideToggle('slow', function(){
$("#gInfo").show();
});
});
【讨论】:
这是因为动画是异步的,脚本不会等待它们完成(感谢上帝)。在大多数执行动画的 jQuery 函数中添加了针对此特定用途的内置回调:
$("#btnGall").click(function() {
$('#gall').slideToggle('slow', function() {
$("#gInfo").show();
});
});
【讨论】:
滑动切换允许在操作完成后进行回调
$("#btnGall").click(function() {
$('#gall').slideToggle('slow', function () { $("#gInfo").show();});
});
【讨论】: