0

クリックすると上に移動する必要がある上部のナビゲーション バーがあります。

    var foo = false
$(document).ready(function(){
    $(".topBar").click(function(){
        findOut();
    });
});
function up()
{
    $(".topBar").animate({height:5},"slow");
}
function down()
{

    $(".topBar").animate({height:30},"slow");
}
function findOut()
{
    if (foo===true)
    {
        down();
        up =  false;
    }
    elseif (foo===false)
    {
        up();
        up = true;
    }
}

質問する前に、はい、jQuery ファイルをインストールしています。

これが私のウェブサイトです:learntc.net 一番上のバー。

4

2 に答える 2

1

次のことを検討していますか。

  $("#topBar").click(function()
    {
        $(this).slideToggle()
    });

これにより、フラグを使用せずにバーが上下します。

ドキュメント

完全にスライドさせたくない場合は、elseif(up===false).

サイトで試してみると、高さを 5px に設定してもテキストが表示されることがわかりますoverflow:hidden

編集 作業コード:

var up = false
$(document).ready(function(){
        $(".topBar").click(function(){
            findOut();
        });
    });
    function upFunc()
    {
        $(".topBar").animate({height:5},"slow");
    }
    function down()
    {

        $(".topBar").animate({height:30},"slow");
    }
    function findOut()
    {
        if (up===true)
        {
            down();
            up =  false;
        }
        else if (up===false)
        {
            upFunc();
            up = true;
        }
    }
于 2012-08-19T21:16:31.103 に答える
0

up() 関数と等しくなるように up 変数を再定義しています。たぶん次のように変更します:

var isup = false;
于 2012-08-19T21:26:29.403 に答える