jQuery Animate topbar

时间:2012-08-19 21:14:12

标签: jquery html jquery-animate

当我点击它时,我需要一个顶级导航栏。

    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最顶层的酒吧。

2 个答案:

答案 0 :(得分:1)

你有没有考虑过:

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

这将使您的酒吧上下移动而无需使用旗帜。

docs

如果你不想一直滑动它,你的代码看起来很好,除了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;
        }
    }

答案 1 :(得分:0)

您正在重新定义up变量以等于up()函数。 也许改成:

var isup = false;