animate在if / else语句中不起作用

时间:2017-01-12 17:40:11

标签: jquery jquery-animate

我这里有这个代码。当我向下滚动页面时,它应该触发我的浮动菜单弹出。出于测试目的,我在页面首次加载时显示的页边距为-15px。正如预期的那样,我可以看到菜单,但只要滚动,菜单就会消失。那部分也很好。什么是时髦的是当我滚动到超过770时,它不会回来。我在if / else语句中添加了其他代码片段,以确认参数是否正确返回false / true(它们是),所以我不确定,为什么第一个if / else语句不起作用。

function showMenu() {

    if(document.body.scrollTop >= 770) {
        $("#floating-menu").animate({marginTop: "40px"}, 500);
    } else if (document.body.scrollTop < 770) {
        $("#floating-menu").animate({marginTop: "-100px"}, 500);
    }
}
$(window).scroll(function() {
   showMenu(); 

});

这是我的css:

#floating-menu {
    height: 100px;
    width: 100%;
    position: fixed;
    z-index: 99;
    top: 0;
    background-color: #fff;
    border-bottom: 1px solid #ccc;
    box-shadow: 1px 1px 2px #000;
    margin-top: -15px;
}

1 个答案:

答案 0 :(得分:0)

想出来。 : - /显然,我需要使用.stop()。