0
$("#btnGall").click(function() {
    $('#gall').slideToggle('slow');
    $("#gInfo").show();
});

このコードが最初に 2 行目を実行し、次に最初の行を実行する理由。slideToggle が終了する前
に表示したくありません。#gInfo

4

3 に答える 3

2

スライドトグルにより、操作が完了した後にコールバックできます

$("#btnGall").click(function() {
    $('#gall').slideToggle('slow', function () {    $("#gInfo").show();});

});
于 2012-12-12T11:13:41.527 に答える
2

slidetoggle 関数に渡された成功コールバックとして指定された無名関数から関数を呼び出します。

$("#btnGall").click(function() {
    $('#gall').slideToggle('slow', function(){
        $("#gInfo").show();
    });
});

SlideToggle ドキュメント

作業例: http://jsfiddle.net/2zn6G/

于 2012-12-12T11:13:50.893 に答える
2

これは、アニメーションが非同期であり、スクリプトがアニメーションの終了を待たないためです (ありがたいことに)。アニメーションを実行するほとんどの jQuery 関数に追加された、この特定の用途のための組み込みのコールバックがあります。

$("#btnGall").click(function() {
    $('#gall').slideToggle('slow', function() {
        $("#gInfo").show();
    });
});
于 2012-12-12T11:13:20.957 に答える