我遇到了一个小问题,我似乎无法解决。
我的动画功能功能有问题。单击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
答案 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"
}
});