$("#btnGall").click(function() {
$('#gall').slideToggle('slow');
$("#gInfo").show();
});
为什么此代码首先执行第二行,然后执行第一行。
我不想#gInfo
在 slideToggle 完成之前显示。
$("#btnGall").click(function() {
$('#gall').slideToggle('slow');
$("#gInfo").show();
});
为什么此代码首先执行第二行,然后执行第一行。
我不想#gInfo
在 slideToggle 完成之前显示。
那是因为动画是异步的,脚本不会等待它们完成(感谢上帝)。在大多数执行动画的 jQuery 函数中添加了针对此特定用途的内置回调:
$("#btnGall").click(function() {
$('#gall').slideToggle('slow', function() {
$("#gInfo").show();
});
});
滑动切换允许在操作完成后进行回调
$("#btnGall").click(function() {
$('#gall').slideToggle('slow', function () { $("#gInfo").show();});
});
从指定为传递给 slidetoggle 函数的成功回调的匿名函数调用该函数。
$("#btnGall").click(function() {
$('#gall').slideToggle('slow', function(){
$("#gInfo").show();
});
});
工作示例:http: //jsfiddle.net/2zn6G/