Div不会在click / JS上滑回

时间:2013-08-08 21:54:23

标签: javascript html slidedown slideup

我遇到了一个小问题,我似乎无法解决。

我的动画功能功能有问题。单击div时,它会完全向下滑动,但是当我再次单击div时,它将不会向上滑动。

这就是我使用的代码......

$("#menu").click(function () {
    if($(this).offset().bottom == -40) {
        $(this).animate({'bottom': '0px'}, 1000);
    }
    else {
        $(this).animate({'bottom': '-40px'}, 1000);
    } 

});

然而,当我的div位于页面的顶部,左侧或右侧而非底部时,它的工作方式非常好?那是我不明白的东西......但我必须说,我对Js很新。

我在这里设置了一个jsFiddle ...... http://jsfiddle.net/JmLqp/438/

有什么建议吗?

谢谢,B

2 个答案:

答案 0 :(得分:0)

更改了JS以检查div的bottom值,并从中进行动画处理。 Fiddle

$("#menu").click(function () {
    if($(this).css('bottom') == '-40px') {
        $(this).animate({'bottom': '0px'}, 1000);
    }
    else {
        $(this).animate({'bottom': '-40px'}, 1000);
   }     
});

答案 1 :(得分:0)

看起来你没有从$(this).offset().bottom中获得正确的价值。你可以这样做:

var status = "up"
$("#menu").click(function () {
    if(status == "up") {   
       status = "down"
        $(this).animate({'bottom': '100px'}, 1000);
    }
    else {
        $(this).animate({'bottom': '-30px'}, 1000);
         status = "down"
    } 

});