4

作成したツールでコンソールをセットアップしました。コンソールは、クリックすると最小化され、もう一度クリックすると最大化されます。

ただし、問題は、一度最大化すると、完了時に最小化するだけであるということです。私のオプションは何ですか?

$('#consolebutton').mouseup(function() {
        if ($('#footconsole').height(200)) {
            $('#footconsole').animate({
                height: 14
            }, 100)
        } else if ($('#footconsole').height(14)) {
                $('#footconsole').animate({
                height: 200
            }, 100);
        }
});

(divの高さをチェックすることは、実際にはdivの高さを設定することであり、それが問題であることを私は理解しています。)

http://jsfiddle.net/VaDBW/3/

4

3 に答える 3

4

これを試して...

$('#consolebutton').mouseup(function() {
    var $footconsole = $('#footconsole');
    if ($footconsole.height() == 200) {
        $footconsole.animate({
            height: 14
        }, 100)
    } else {
        $footconsole.animate({
            height: 200
        }, 100);
    }
});

高さを設定するのではなく、高さと比較し、$("#footconsole")検索を続けるのではなく、変数を の値に設定します。

于 2013-02-13T16:36:58.300 に答える
1

height()パラメータなしでメソッドを呼び出します。パラメータがなければ、現在の高さを返します。パラメータを渡すときは、高さを設定しています。

if($('#footconsole').height() == 14)例えば。私の意見では、data高さをチェックするよりもステータスフラグを保存する方が良いでしょう

if($('#footconsole').data('collapsed'))
{
    $('#footconsole').data('collapsed', false);
    /* do expand code */
} else {
     $('#footconsole').data('collapsed', true);
     /* do collapse code */
}

クラスを使用して設定を定義することもできます。クラスを切り替えるだけでなく、さらに調整する必要がある場合は、 をチェックしhasClassてさらに調整することもできます。たくさんのオプション。しかし、生の高さから外れるのは少し奇妙に思えます。

于 2013-02-13T16:37:24.207 に答える
0

click(function(){...}); 内で toggleClass() を使用します。その後、ifステートメントは必要なく、高さの違いをCSSに入れることができます。

于 2013-02-13T16:37:02.977 に答える